Perl 有很多不同的文字
- 像
123
, 123.0
, 1.23e2
,这样的数字0x7b
- 字符串文字
"abc"
, 'abc'
, q/abc/
, ...</li>
- 空话
- Barewords 看起来像没有参数列表的函数调用
- 在特殊的地方,即使在严格的情况下也是可以的:
Foo::Bar->new()
- 没有
strict 'refs'
,不表示 subs 的裸词被视为字符串。
- 胖逗号的 LHS
=>
总是自动引用
- 带有前导减号的裸词始终是字符串,除非它们是文件测试运算符。
-abc eq "-abc"
- V-strings(V 在向量或版本中)。
v1.2.3
V-strings 由一系列由句点分隔的数字组成。每个数字都被翻译成相应的字符。由于它们是字符串,它们可以与lt
,gt
等进行比较。
它们适用于例如 IP 地址或版本号。它们不适合打印出来,因为小数字表示不可打印的字符。
$ perl -E'say v49.50.51'
123
这个故事的主旨?总是use strict; use warnings;
,也许看看qw//
引用运算符:
my $variables_array = [[qw/u1 answer1 Uvalue/], [qw/v1 u2 v2 answer2 Vvalue/]];
# or verbose:
my $variables_array = [['u1', 'answer1', 'Uvalue'], ['v1', 'u2', 'v2', 'answer2', 'Vvalue']];
(qw
不插值,在任何空格处拆分字符串,并且等于字符串列表)