3

Perl で LIST_SEPARATOR を設定したいのですが、次の警告しか表示されません。

Name "main::LIST_SEPARATOR" used only once: possible typo at ldapflip.pl line 7.

これが私のプログラムです:

#!/usr/bin/perl -w

@vals;
push @vals, "a";
push @vals, "b";

$LIST_SEPARATOR='|';

print "@vals\n";

明らかな何かが欠けていると確信していますが、わかりません。

ありがとう

4

4 に答える 4

12

ニーモニックのみ利用可能

$" = '|';

あなたでない限り

use English;

最初。

perlvarで説明されているとおりです。ドキュメントを読んでください。

次の名前は、Perl にとって特別な意味を持ちます。ほとんどの句読点名には、合理的なニーモニック、またはシェル内の類似物があります。それにもかかわらず、長い変数名を使用したい場合は、次のように言うだけです。

use English;

あなたのプログラムの一番上に。これにより、現在のパッケージのすべての短い名前が長い名前にエイリアスされます。一部には、一般的に awk から借用された、中程度の名前が付いているものもあります。一般的には、

use English '-no_match_vars';

$PREMATCH、$MATCH、または $POSTMATCH が必要ない場合は、正規表現の使用による特定のパフォーマンス ヒットを回避するための呼び出し。英語を参照してください。

于 2009-04-02T19:30:47.650 に答える
9

perlvarはあなたの友達です:

$LIST_SEPARATOR
$"

これは$,、二重引用符で囲まれた文字列 (または同様の解釈された文字列) に補間された配列とスライスの値に適用されることを除いて、似ています。デフォルトはスペースです。(記憶法: 明らかだと思います。)

$LIST_SEPARATORすべてのプログラムで使用しuse English;たくない場合は、代わりに使用してください。同じ変数ですが、より簡潔な名前が付けられています。use English;$"

于 2009-04-02T19:31:06.697 に答える