ファイル移動やっつけ版
とりあえずやっつけ仕様。いちおう同名ファイルが存在したらスキップ。ファイルの存在確認を-eでやるのはあんまり良くなかったと思うけど、そこまでクリティカルな使い方しないし。
数字13桁のファイル名でなく、jpg, png, gifのどれかの拡張子を持つファイルをtestフォルダに移動するだけ。
#!/usr/bin/perl use strict; use warnings; use File::Copy 'move'; unless (-d './test') { mkdir './test' or die "can't make: $!\n" } opendir DIR, '.' or die "can't open: $!\n"; while ($_ = readdir DIR) { next if m/^\.\.?$/; next if m/^\d{13}\./; next unless m/(?:(?:jpe?|pn)g|gif)$/i; if (-e "./test/$_") { print "./test/$_: already exists.\n"; next; } move $_, "./test/$_"; } closedir DIR; exit;