#!/usr/bin/perl use warnings; use strict; use File::Copy; my $indir = "C:/Test/Import"; my @crit = (["TTS3", "02502185"], ["TTS3", "CONFIRM"], ["TTS3", "02502106"], ["TTS3", "02502100"]); my @dirs = ("GGR", "Confirm", "Nack", "Ack"); sub createDir { my $dirname =shift; if (! -e $dirname) { # mkdir($dirname); print "$dirname\n"; } } chdir($indir); my @files = glob("*.CSV"); my $dirname; for my $i (@files) { for my $u (0 .. $#crit) { if ($i =~ /\Q$crit[$u][0]\E/ && $i =~ /\Q$crit[$u][1]\E/) { if ($dirs[$u] eq "Ack" || $dirs[$u] eq "GGR") { my $d2 = "$indir/AckGGR"; createDir($d2); my $t2 = "$d2/$i"; # copy($i, $t2); print "$i -> $t2\n"; } $dirname = "$indir/$dirs[$u]"; print "\n"; createDir($dirname); my $target = "$dirname/$i"; # move($i, $target); print "$i -> $target\n"; } } if ($i =~ /.{5}\.TTS3/) { $dirname = "$indir/Nic"; print "\n"; createDir($dirname); my $target = "$dirname/$i"; # move($i, $target); print "$i -> $target\n"; } }