2

私はperlハッシュについて質問しました.これに関するアドバイスは大歓迎です-以下は単なるコードスニペットです-

my @results = $sp->get_list_items($listid, $viewid); 
print Dumper @results;

出力はこのようなものです、

$VAR1 = { a => 1, b => 2, g => 1, }; 
$VAR2 = { c => 1, d => 2, g => 1, b => 1434, h => 2 }; 
$VAR3 = { e => 1, a => 232, f => 2 }; 
$VAR4 = { g => 1, h => 2, a => 5, b => 19 };

注: ハッシュ参照の間はコンマではなくセミコロンです!! 私の仕事は、各ハッシュ参照から a と b の値を収集し (ハッシュ参照に a または b が存在しない場合は 0 で置き換えます)、それをハッシュに格納することです。複数の試行にもかかわらず、これは私にとって本当に難しいです、助けてください..

4

2 に答える 2

5

の出力を誤解していますData::Dumper。配列参照を Dumper 関数に送信する必要があります。

print Dumper \@results;

それ以外の場合は、配列内の要素のリストを個別に出力するために送信します。

次のような出力が得られるはずです。

$VAR1 = [
          {
            'a' => 1,
            'g' => 1,
            'b' => 2
          },
          {
            'c' => 1,
            'h' => 2,
            'b' => 1434,
            'g' => 1,
            'd' => 2
          },
          {
            'e' => 1,
            'a' => 232,
            'f' => 2
          },
          {
            'a' => 5,
            'h' => 2,
            'b' => 19,
            'g' => 1
          }
        ];
于 2012-11-30T11:36:19.200 に答える
0

「a と b の値をハッシュに保存する」方法がわかりませんが、これで何かを始めることができます。

for my $result (@results) {
  my $a_val = $result->{a} || 0;
  my $b_val = $result->{a} || 0;

  # now do something with $a_val and $b_val ...

}
于 2012-11-30T19:12:14.893 に答える