0

perlでハッシュを配列にキャストすることは可能ですが、さらに変数を使用する必要はありませんか? これは期待どおりに機能しますが、別の変数 (@arr) が使用されます。

perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); @arr=%hash; print "@arr"'

私はそれらを試しましたが、どちらも機能しませんでした(ところで、彼らは何をしますか?):

perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); print "@hash"'
perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); print "%@hash"'
perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); print "@%hash"'
4

1 に答える 1

-1
perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); print (%hash);'

式を括弧で囲むと、リスト変数に代入するのと同じように、リスト コンテキストで評価されます。

の場合、print配列とハッシュの両方にリスト コンテキストを使用するため、このキャストは不要です。しかし、ハッシュで他の配列スタイルのことをしたい場合は、これを使用できます。

$first = (%hash)[0];
echo $first;
于 2013-01-13T12:49:37.890 に答える