我想弄清楚为什么这两行会产生不同的结果:
print($fh, "text"); --> 0x10101010 text (on STDOUT)
print($fh "text"); --> text (inside of file $fh)
Run Code Online (Sandbox Code Playgroud)
当我有逗号时,我理解我创建了一个列表,当打印只有一个列表时,它将列表打印到STDOUT.但是,当我没有逗号时,什么是打印呢?我想要的结果就是我没有逗号的结果.
这对我来说很奇怪,反对我期待带逗号的那个为我的预期目的而工作.代码我经常看到用" print $file "text"" 这样的行进行文件句打印,但我想使用括号,因为我发现它与其他语言更加一致.但是,不要使用逗号也是不一致的.
对"印刷"内部的解释可能有助于我理解.当没有逗号时,如何将FILEHANDLE和LIST分开?
文件:http://perldoc.perl.org/functions/print.html
谢谢!
print 不是正常的函数,你不应该用括号调用它,因为你并没有真正将参数列表传递给函数.
我通常写的方式是
print {$fh} 'text';
print {$fh} 'text1', 'text2';
Run Code Online (Sandbox Code Playgroud)
或不去文件:
print 'text';
print 'text1', 'text2';
Run Code Online (Sandbox Code Playgroud)
你问"当没有逗号时,如何将FILEHANDLE和LIST分开?" 答案是"魔术,因为它不是正常的功能."
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |