#!/usr/bin/perl
use File::Find;
use File::Copy;
use File::Basename;

$HOME_dir = `echo \$HOME`;
chomp $HOME_dir; #刪去換行符
$dst_dir = $HOME_dir."/Desktop/tmp/"; #目的路徑
$pic_dir = $HOME_dir."/magic/dir"; #圖片檔目錄
$filename = "list2.txt";
#-- 遞迴找檔案 --
sub find_file {
    $dir = $File::Find::dir;
    $fname = $File::Find::name;
    $name = $_;
    $basename = fileparse($fname, qr/\..*/);
    next if ($name =~ /^\./);
    next if (-d $name);
    $num = $basename;
    if ($p_num eq $num) {
        print "find!!\n";
        $newfile = $dst_dir.$name;
        print "File: $fname\n";
        print "Dst:$newfile\n";
        if (-d $dst_dir) {
            copy ($fname, $newfile);
        } else {
            mkdir($dst_dir);
            copy ($fname, $newfile);
        } 
    }
} #sub END
#測試tmp目錄是否存在,如果不在就建立目錄
if (!-d $dst_dir) {
    mkdir($dst_dir);
}
open FILE, $filename or die "Can't open $filename";
while (<FILE>) {
    chomp;
    print "Part:$_\n";
    $p_num = $_;
    find (\&find_file, $pic_dir); #執行遞迴找圖片檔案
}
$command = "find $pic_dir -type f | wc -l";
$count = `$command`;
print "Total find files:$count\n";