我正在寻找一些如何使用Unicode字符创建文件名的指南.考虑:
use open qw( :std :utf8 );
use strict;
use utf8;
use warnings;
use Data::Dump;
use Encode qw(encode);
my $utf8_file_name1 = encode('UTF-8', 'æ1', Encode::FB_CROAK | Encode::LEAVE_SRC);
my $utf8_file_name2 = 'æ2';
dd $utf8_file_name1;
dd $utf8_file_name2;
qx{touch $utf8_file_name1};
qx{touch $utf8_file_name2};
print (qx{ls æ*});
Run Code Online (Sandbox Code Playgroud)
输出是:
"\xC3\xA61"
"\xE62"
æ1
æ2
Run Code Online (Sandbox Code Playgroud)
如果我用UTF8编码文件名,为什么不重要?(无论哪种方式,文件名仍然是有效的UTF8.)
根据perlunicode,-e不能使用unicode文件名,所以如何检查是否存在unicode文件名?在Solaris系统上.