/home/user
当我创建并检查是否存在带有波浪号的目录时,我在我的 Perl 脚本中发现了一个轻微的错误行为,如果我使用完整路径就不会发生这种情况。当我第一次运行这个脚本时,它会创建新目录。当我第二次运行它时,它不识别目录的存在,并尝试第二次创建它:
#!/usr/bin/perl
use strict;
my $outdir = '~/test';
my $cmd = "mkdir $outdir";
unless (-d $outdir) {
0 == system($cmd) or die "Error creating outdir $outdir\n $?";
}
1;
[~] $ rm test/ -rf
[~] $ perl dir.pl
[~] $ perl dir.pl
mkdir: cannot create directory `/home/avilella/test': File exists
Error creating outdir ~/test
256 at dir.pl line 7.
如何可靠地处理~
在 Perl 中使用波浪号的目录?