5

perl 関数呼び出しで混乱しました。誰か助けてくれませんか?</p>

catFiles次のように呼び出されます:

catFiles( \@LINKFILES => "$output_prefix.links" );

catFiles関数定義:</p>

sub catFiles {

    unlink("$_[1]") if(exists $_[1]);
    system qq( cat "$_" >> "$_[1]" ) for @{$_[0]};
}

=>あるべきだと思うものがなぜあるのかわかりません,

4

1 に答える 1

11

=>,Perlと (ほぼ) 同等です。(違いについては、「公式」ドキュメントを参照してください。)

通常、ハッシュを定義してキーと値の関係を示すときに使用されます。

my %hash = (
  'a' => 1,
  'b' => 2,
);

動作の変更なしと書くこともできますmy %hash = ('a', 1, 'b', 2);が、それは見栄えがよくありません。することもできますmy $hash = ('a', 1 => 'b', 2);が、それは混乱を招くだけです。

同様に、あなたの場合、コードを次のように書くことができます

catFiles(\@LINKFILES, "$output_prefix.links");

バージョンと同じことを行い=>ます。

ここでは、シンタックス シュガーとして使用されています。おそらく、 will の内容@LINKFILESが に連結されることを示してい"$output_prefix.links"ます。

于 2013-04-07T02:45:22.947 に答える