ファイル移動やっつけ版

とりあえずやっつけ仕様。いちおう同名ファイルが存在したらスキップ。ファイルの存在確認を-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;