【发布时间】:2015-02-14 00:56:06
【问题描述】:
我有一个 perl 脚本,它以目录路径作为输入,然后脚本遍历该目录中存在的所有文件。对于每个文件,它都会调用其他函数。
这是脚本:
#!/usr/bin/perl
use JSON;
use XML::Simple;
use File::Spec;
$num_args = $#ARGV + 1;
if ($num_args != 1) {
print "\nUsage: $0 <input directory>\n";
exit;
}
my $dir = $ARGV[0];
opendir(DIR, $dir) or die "cannot open directory";
@docs = grep(/\.xml$/,readdir(DIR));
foreach $file (@docs)
{
my $abs_path = join("",$dir,$file);
#print $abs_path;
my $return_object = some_function_call($abs_path);
print_output($return_object);
}
sub print_output
{
my $output_object = $_[0];
print $output_object;
}
我的问题是当我读取输入目录时,如果不存在,如何使上述脚本从“某些默认目录位置”读取。我尝试添加一些逻辑,但对我不起作用。这是我的第一个 perl 脚本,所以如果这太简单了,请原谅。
我在 LINUX 环境下工作。
【问题讨论】: