-1

2つの配列をマージする方法を調べていたときに見つけ$\ = $/たのですが、これがまったくわかりません。例:

use strict;
$\ = $/;

my @array1 = ("string1", "string2");
my @array2 = ("string3", "string4");

my @array = (@array1, @array2);

print for @array;

彼らはどういう意味ですか?

4

2 に答える 2

10

$\出力レコードセパレータです。含まれているものはすべて、各printステートメントに追加されます。$/入力レコード区切り文字で、デフォルト値は\n(改行) です。出力レコード セパレータを改行に設定することで、print ステートメントに改行を追加する必要がなくなり、次のステートメントが作成されます。

print for @array;

..に比べて、はるかに滑らかに見えます

print "$_\n" for @array;

use 5.010;彼がの代わりにを使用していた場合、彼は使用$\ = $/;できたはずであることに注意してください

say for @array;
于 2013-03-12T19:58:42.583 に答える
2

Perl のドキュメントを参照するか、別の適切な記事がここにあります

$/は入力レコード セパレータ、$\は出力レコード シーレータです。上記のリンクには、これらおよびその他すべての特別な Perl 変数を記憶するための便利なニーモニック デバイスがあります。

于 2013-03-12T20:00:59.510 に答える