有一些事情需要警惕,尽管你们知道这些事情,但你几乎从未犯过错误。
在有效识别文本旁边贴一个变称。 如果以前有定义,则每一方可找到最长久有效的变量名称,并且不予以照顾。 您可以将可变的名称部分从中删除,但可以明确:
my $p = p ;
print "Mind your $ps and qs
"; # $ps, not $p
print "Mind your ${p}s and qs"; # now its $p
现在,我就是这样说的。 如果我补充一下,我还有另一个问题,因为apos子是老时代遗留下来的包裹,它仍在发挥作用。 图书馆也在那里工作:
my $p = p ;
print "Mind your $p s and q s
"; # $p::s, not $p
print "Mind your ${p} s and q s"; # now its $p
Perl还可以干涉单项元素接触斜体和阵列,因此,在变称后面加列指数特性可能会使你不希望:
print "The values are $string[$foo]
"; That s the element at index $foo
print "The values are $string{$foo}
"; That s the value for the key $foo
当你想用电子邮件在座时,你可能会忘记 Perl 洲际阵列。 除非你逃脱@
:
print "Send me mail at joe@example.com
"; # interpolates @example
print "Send me mail at joe@example.com
";
自2006年以来 如果你想一字不一的话,那么你就需要翻一番:
print "C:
eal oolsfor
ewwork"; # not what you might expect
print "C:\real\tools\for\new\work"; # kinda ugly, but that s life
print "C:/real/tools/for/new/work"; # Windows still understands this
尽管这些小小 go,但我确实不理解,如果我不得不使用另一种语言,我可以轻松地在Perl建造座椅。