Kev*_*Kev 1 permissions perl slurp centos file
我在CentOS上有一个perl脚本,我正在尝试使用File :: Slurp读取文件:
my $local_filelist = '~/filelist.log';
use File::Slurp;
my @files = read_file($local_filelist);
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
Carp::croak('read_file \'~/filelist.log\' - sysopen: No such file or directory') called at /usr/local/share/perl5/File/Slurp.pm line 802
Run Code Online (Sandbox Code Playgroud)
尽管事实上我正在以myuser身份运行脚本,并且:
(2013-07-26 06:55:16 [myuser@mybox ~]$ ls -l ~/filelist.log
-rw-r--r--. 1 myuser myuser 63629044 Jul 24 22:18 /home/myuser/filelist.log
Run Code Online (Sandbox Code Playgroud)
这是在CentOS 6.4上的perl 5.10.1 x86_64.
可能是什么导致了这个?
我没有使用过File :: Slurp,但我猜测它不能理解~
主目录.如果指定完整路径,它是否有效 - 例如,使用:
my $local_filelist = "$ENV{HOME}/filelist.log";
Run Code Online (Sandbox Code Playgroud)
使用双引号意味着perl将扩展$ ENV {HOME}.