1

Perl ハッシュで値の数 (つまり abc1) を見つける必要があり、4 を超える場合は IF ブロック内で内部コマンドを実行します。値の数を数える方法の概念を理解する必要があるだけです。

(私が試みたもののコードサンプルを残すことはできますが、それは制御不能な笑いと混乱を招くだけです)

を使用しData::Dumperており、次の形式を使用してキー/値をハッシュに格納しています。

push @{$hash{$key}}, $val;

ハッシュを出力すると、次のようになります。

$ print Dumper \%hash;

    $VAR1 = {
      '5555' => [
                   'abc1',
                   'abc1',
                   'abc1'
                 ]
    };

カウントの仕方を教えてください。

前もって感謝します。

4

2 に答える 2

2

さて、その特定の文字列を数えますか、それとも要素の数を数えますか?

my $count = @{$hash{$key}};   # get the size of the array (all elements)

my %num;
for my $val (@{$hash{$key}}) {
    $num{$val}++;             # count the individual keys
}
print "Number of 'abc1': $num{'abc1'}\n";
于 2013-06-11T10:13:59.267 に答える
1

ハッシュの値の数は、キーの数と同じです。ただし、必要なのは、配列内の要素の数です (ハッシュ値から参照されます)。配列のサイズを取得するには、スカラー コンテキストで使用します。配列参照の場合、最初に逆参照する必要があります。

my $count = @{ $hash{$key} };
于 2013-06-11T10:14:19.163 に答える