2 つの配列があり、どちらもファイル名のリストで構成されています。ファイル名は、拡張子を除いて、両方の配列で同一です。
つまり、 filename.dwgとfilename.zip
これで、ファイルの各リストを配列に割り当てました。
つまり、 @dwg_filesと@zip_files
最終的に、私がやろうとしているのは、異なる配列にある同じ名前の 2 つのファイル間の最終更新日を確認し、一方が他方よりも新しい場合はスクリプトを実行することです。これまでのところ、名前が異なる2つのファイルを比較する場合を除いて、機能しているようです。最初の配列のファイルを他の配列の同一ファイルと比較するために必要です。
つまり、 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++;
}
いくつかの調査を行って、ハッシュを使用して 2 つの配列を関連付けようと考えました。それらを名前で関連付ける方法がわかりません。
my %hash;
@hash{@dwg_files} = @zip_files;
私は完全な Perl 初心者です (先週、Perl を使い始めたばかりです)。私はこれに何日も立ち往生しており、どんな助けも大歓迎です!