Id: 214215
Time: 5:07
jName: Bar_Start
joutcome: warning
pName: Bar
jstatus: running
stepName Start:
outcome: success
status: completed
---End Step---
stepName A:
outcome: success
status: completed
---End Step---
stepName B:
outcome: success
status: completed
---End Step---
stepName C:
outcome: success
status: completed
---End Step---
stepName DC:
outcome: warning
status: completed
---End Step---
---------------END FINAL---------------
Id: 123456
Time: 11:08
jName: Foo_Start
joutcome: success
pName: Foo
jstatus: completed
stepName A:
outcome: success
status: completed
---End Step---
stepName AD:
outcome: success
status: completed
---End Step---
내가 전에 각 라인 "--- 최종 단계 ---"헤더를 포함하도록 그것을 구문 분석하고 싶습니다
foreach my $key (keys %rowdata) {
if ($row =~ m/\s*$key:.*/) {
$rowdata{$key} = $row;
}
}
: 나는 내가 채우려면 다음 내 해시 같은 것을 할 필요가 생각 my %rowdata = (
Id => "214215",
Time => "5:07",
jName => "Bar_start",
jOutcome => "warning",
pName => "Bar",
jStatus => "running",
stepName => "Start",
outcome => "success",
status => "completed",
);
my %rowdata = (
Id => "214215",
Time => "5:07",
jName => "Bar_start",
jOutcome => "warning",
pName => "Bar",
jStatus => "running",
stepName => "A",
outcome => "success",
status => "completed",
);
my %rowdata = (
Id => "214215",
Time => "5:07",
jName => "Bar_start",
jOutcome => "warning",
pName => "Bar",
jStatus => "running",
stepName => "B",
outcome => "success",
status => "completed",
);
...
my %rowdata = (
Id => "123456",
Time => "11:08",
jName => "Foo_start",
jOutcome => "success",
pName => "Foo",
jStatus => "completed",
stepName => "A",
outcome => "success",
status => "completed",
);
:는 같은 해시에 저장됩니다
그러나 헤더를 한 단계로 분리하는 방법을 잘 모르는 경우에는 새 헤더를 포함시켜야합니다. --- 최종 결과 ---
그런 다음 각 저장된 해시를 반복하고 싶습니다. 현재 상황에 기초한 물건. 현재 출력은 배열 (@rows)
샘플 데이터에 대해 생성하려는 실제 해시의 예를 '' ''대신 자리 표시 자로 표시하십시오. 당신의 입력에서 각각의'jName'은 여러개의'stepName' 블럭을 가지고있는 것처럼 보입니다, 그래서 여러분의 해시에있는'stepName' 필드는 배열을 포함합니까? – ThisSuitIsBlackNot
아니요, 해시 당 하나의 jName 및 하나의 stepName이 있어야합니다. 따라서 x 번호의 해시가 x 개 이전에 나올 것입니다. --- 최종 마무리 --- –
해시가 어떻게 표시 될지 편집했습니다. –