use strict; use File::Copy; opendir (DIR, "$ARGV[0]") || die ("cannot open the directory"); my $file = $ARGV[0]; my @dir = readdir (DIR); my @files; chdir($ARGV[0]); my $input = ; chop($input); my $dir; my $k; foreach $dir (@dir) { if ($dir =~ /^(\d{2})\d+([a-z]{2})(.*?)\.htm$/i) { mkdir ($1); mkdir ("$1\/Final_Files"); $k=$input.$1.$3; rename ($dir, $k); move ($k, "$1\/Final_Files\/$k") if ($dir !~ /master/gsi); move ($k, "$1\/Final_Files") if ($dir =~ /master/gsi); } }