단어 수의 익명 해시를 작성하십시오. 각 섹션의 끝에 해시를 배열에 푸시하고 새로운 익명 해시를 시작합니다. 아래의 코드는 이것을 구현합니다. (Data::Dumper
에 대한 호출은 내장 된 데이터 구조를 보여 만있다.)
use strict;
use warnings;
my $sect;
my @counts;
while (<DATA>) {
if (/^(\w+)/) {
$sect->{$1}++;
}
elsif ($sect) {
push @counts, $sect;
undef $sect;
}
}
use Data::Dumper;
$Data::Dumper::Sortkeys = 1;
print Data::Dumper->Dump([\@counts], ['*counts']);
__DATA__
--------------------
>this is my first statement
Parameter1
Parameter2
Parameter3
Parameter2
--------------------
>this is my second statement
Parameter1
Parameter2
Parameter3
--------------------
>this is my third statement
Parameter1
Parameter2
Parameter2
Parameter3
--------------------
>this is my fourth statement
Parameter1
Parameter2
--------------------
>this is my fifth statement
Parameter1
Parameter2
Parameter3
Parameter4
--------------------
OUTPUT
@counts = (
{
'Parameter1' => 1,
'Parameter2' => 2,
'Parameter3' => 1
},
{
'Parameter1' => 1,
'Parameter2' => 1,
'Parameter3' => 1
},
{
'Parameter1' => 1,
'Parameter2' => 2,
'Parameter3' => 1
},
{
'Parameter1' => 1,
'Parameter2' => 1
},
{
'Parameter1' => 1,
'Parameter2' => 1,
'Parameter3' => 1,
'Parameter4' => 1
}
);
"해쉬의 값을 하나씩 증가시킬 수있는 방법이 있습니까?"무엇을 의미합니까? 해시의 각 요소를 하나씩 늘리시겠습니까? "해시를위한 배열 만들기"? 해시를 배열에 넣고 싶습니까? 'push @list, \ % hash'? – Qtax
맹 글링 전후에 예제 데이터를 제공하십시오. – daxim
해시가 있고 배열이 있고 해시에 개수가 있지만 배열에없는 것으로 알고 있습니다. 하지만 그 후에 너는 나를 잃어 버렸다. 문제에 대한 해결책 (문제가 해결되지 않음)을 설명하는 대신 문제를 설명하는 것이 도움이 될 수 있습니다. – TLP