在我的previous question我询问了编码和open pragma
的问题。基于@ daxim's answer我想到了另一个问题。
use open qw(:std :utf8);
open pragma
是一个好习惯吗?问,因为我无法保证比一些CPAN包不想做一些IO - 而open pragma
会干扰它们。子的问题:
open(:std :utf8)
pragma打开STDOUT吗?Ps:我从tchrit's famous answer学到了很多,但似乎还不够。 ;(
答案 0 :(得分:3)
您可以使用PerlIO::get_layers来检测分配给文件句柄的图层:
use open qw(:std :utf8);
open my $in, '<', 'somefile' or die "$!"
my @layers = PerlIO::get_layers($in); # ("unix", "crlf", "utf8")