我有两个数组,都由文件名列表组成。除了扩展名之外,两个数组中的文件名相同。
即文件名.dwg和文件名.zip
现在,我已将每个文件列表分配给一个数组。
即@dwg_files和@zip_files
最终,我要做的是检查不同数组中两个同名文件之间的最后修改日期,然后如果一个文件比另一个文件年轻,则运行一个脚本。到目前为止,我所拥有的似乎有效,除非它比较两个具有不同名称的文件。我需要它将第一个数组中的文件与另一个数组中的相同文件进行比较。
即asdf1.dwg应该与asdf1.zip相关联
my $counter = 0 ;
while ( $counter < @dwg_files ) {
print "$counter\n";
my $dwg_file = $dwg_files[$counter];
my $zip_file = $zip_files[$counter];
#check if zip exists
if (-e $zip_file) {
#Checks last modification date
if (-M $dwg_file < $zip_file) {
*runs script to creat zip*
} else {
*Print "Does not need update."*
}
} else {
*runs script to create zip*
}
$counter++;
}
做了一些研究,我想我会尝试使用哈希来关联两个数组。我似乎无法弄清楚如何通过名称关联它们。
my %hash;
@hash{@dwg_files} = @zip_files;
我是一个完整的 Perl 菜鸟(上周才开始使用它)。我已经坚持了好几天了,任何帮助都会非常感激!