Perlでは、配列のエントリから複数のローカル変数をきれいに割り当てる方法について、私は常に混乱してきました。perlの配列エントリに複数のローカル変数を割り当てる
私は潜水艦内のすべての時間を、次の構文を使用しますので、私はそれで多少よく知っている:
my ($var1, $var2) = @_
が、これの他のバリエーションは私を混乱させる。例えば、私は、動作、次のコードを持っている:
「@matchingLines
」は2つの要素の配列の配列である
for my $ctr (0 .. $#matchingLines) {
my $lineNo = $matchingLines[$ctr][0];
my $text = $matchingLines[$ctr][1];
。
は私が明らかに最後の2行を変換することができたいと思います。もちろん動作しません
my ($lineNo, $text) = $matchingLines[$ctr];
こと。私は多数のバリエーションを試しましたが、動作するものは何も見つかりません。
をお読みください。私はそれを理解することはできません。 (奇妙な、私が返信していたコメントは今や消えてしまった) –
実際、私のコメントは時期尚早だったので、この場合はスライスが必要ない。 '$ matchingLines [$ ctr]'は配列リファレンスです。それを逆参照してください。 – ThisSuitIsBlackNot