特定的">:THING"语法告诉Perl IO系统使用THING指定的层.查看"图层" 的PerlIO文档.常用图层是'raw'和'utf8'.
在这种情况下,这允许您使用$ stdout作为内存文件,该文件最终应包含发送到STDOUT的任何内容.更一般地说,语法允许您打开内存中的文件,然后将文件句柄发送到通常写入文件的其他函数,以便您可以收集它们的输出(或提供它们的输入).
您也可以通过打开一个标量的"文件"来获得相同的结果:
open my $fh, ">:scalar", \$scalar or die;
open my $fh, ">", \$scalar or die;
Run Code Online (Sandbox Code Playgroud)
它由PerlIO提供,由PerlIO :: scalar实现,尽管您不必"使用"模块来访问该功能.