摘自:perldoc.perl.org
當(dāng)".."操作符返回bool型變量的時候,有如下幾個例子:
while (<>) {
print if (2 .. 6);
}
將會打印文件的 2 ~ 6 行。
同樣的:
next if (1 .. /^$/); # 跳過前面的空白行
s/^/> / if (/^$/ .. eof); # 在正文前面加上 >
還可以這樣使用:
# parse mail messages
while (<>) {
$in_header = 1 .. /^$/;
$in_body = /^$/ .. eof;
if ($in_header) {
# do something
} else { # in body
# do something else
}
}
下面的例子展示了".."和"..."的區(qū)別:
@lines = (" - Foo",
"01 - Bar",
"1 - Baz",
" - Quux");
foreach (@lines) {
if (/0/ .. /1/) {
print "$_\n";
}
}
這個程序只輸出Bar那行。如果將".."換成"...",則還會輸出Baz那行。
下面展示".."操作符返回列表型變量時候的幾個例子:
for (101 .. 200) { print; } # print $_ 100 times
@foo = @foo[0 .. $#foo]; # an expensive no-op
@foo = @foo[$#foo-4 .. $#foo]; # slice last 5 items
同樣可以用于字符串:
@alphabet = ("A" .. "Z");
$hexdigit = (0 .. 9, "a" .. "f")[$num & 15];
@z2 = ("01" .. "31"); print $z2[$mday];
還可以用于單個字符:
use charnames "greek";
my @greek_small = ("\N{alpha}" .. "\N{omega}");
use charnames "greek";
my @greek_small = map { chr } ord "\N{alpha}" .. ord "\N{omega}";