我正在解析一个文件,然后从中创建多个输出文件。我想将输出文件保存在执行 perl 脚本的同一文件夹中的特殊目录中。如果该目录已经存在,则将文件放在该目录中。如果用户没有 sudo 权限,则在当前工作目录中创建文件。
use strict; use warnings;
sub main {
my $directory = "pwd/test.pl_output";
unless(mkdir $directory) {
return 0; # unable to create directory (it either already exists
# or you don't have sudo privileges)
} else {
return $directory
}
}
if ( my $PATH = main() ){
open(my $fh, '<', 'input.txt') or die $!;
open(my $output, '+>', $PATH.'/output.txt') or die $!;
} else { # create the output file as usual
open(my $fh, '<', 'input.txt') or die $!;
open(my $output, '+>', 'output.txt') or die $!;
}
print "All done! Please look in \$output\n";
在脚本结束时,在我解析和处理文件后,我想将以下内容打印到 shell 提示符:
All done! Please look in 'output.txt' for the output.
如果输出文件在新目录中,我想打印以下内容:
All done! Please look in 'output.txt' in the directory '~/path/to/output.txt' for the output.
我的代码不起作用。