我想在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";
我确信我错过了一些明显的东西,但我没有看到它.
谢谢
只有助记符可用
$" = '|';
除非你
use English;
第一.
如perlvar中所述.请阅读文档.
以下名称对Perl具有特殊含义.大多数标点符号都有合理的助记符或shell中的类比.不过,如果你想使用长变量名,你只需要说
use English;在你的程序的顶部.这会将所有短名称别名化为当前包中的长名称.有些人甚至有中等名字,通常是从awk借来的.一般来说,最好使用
use English '-no_match_vars';如果您不需要$ PREMATCH,$ MATCH或$ POSTMATCH,则调用,因为它可以避免使用正则表达式导致某些性能损失.见英文.
perlvar是你的朋友:
•
$LIST_SEPARATOR
•$"
这类似于
$,
它应用于插入到双引号字符串(或类似的解释字符串)中的数组和切片值.默认是一个空格.(助记符:很明显,我想.)
$LIST_SEPARATOR
只有您可以使用use English;
如果您不想use English;
在所有程序中使用,请$"
改用.相同的变量,只是更简洁的名称.
稍微偏离主题(问题已经得到很好的回答),但我没有得到吸引力English
.
缺点:
更多打字
名字不是更明显(即,我仍然需要查看)
优点:
?
我可以看到其他读者的好处- 特别是那些根本不了解Perl的人.但是,在这种情况下,如果它使代码的问题更具可读性后来,我宁愿这样的:
{ local $" = '|'; # Set interpolated list separator to '|' # fun stuff here... }