以下两个语句是相同的(如果没有子命名FOO
):
my $x = FOO; my $x = 'FOO';
所以,以下是等价的并不奇怪:
open FH, ... open 'FH', ...
同样的道理
print { FH } ... print { 'FH' } ...
并为
readline(FH) readline('FH')
请注意,以下内容不相同
print FH ... print 'FH' ...
因为解析器专门查看是否提供了一个裸字来print
确定参数的含义.
print LIST # Prints list to selected handle print BAREWORD LIST # Prints list to specified handle print { EXPR } LIST # Prints list to specified handle
请注意,以下内容不相同
<'FH'>
因为解析器专门查看是否在内部使用裸字<>
来确定运算符的含义.
# readline(BAREWORD) # glob(EXPR)