#!/usr/bin/perl use warnings; use strict; use File::Copy; my $srcdir = "\\\\windowsservername\\directory\\Subdirectory\\"; my $dest = "C:\\Documents and Settings\\"; for ( ; ; ) { opendir( DIR, $srcdir ) or die "Can't open $srcdir: $!"; my @files = grep { !/^\.+$/ } readdir(DIR); @sorted = reverse( sort { -M $a <=> -M $b #( $m{$a} ||= -M $a ) <=> # ( $m{$b} ||= -M $b ) } @files ); close(DIR); if ( !@sorted ) { print "Files have been ended.\n\n"; last; } $xmlfile = $sorted[0]; my $old = "$srcdir/$xmlfile"; move( $old, $dest ) or die "Move $old -> $dest failed: $!"; print "File Name: $xmlfile moved to Fileshare - 30 mins for next upload.\n\n"; sleep 1800; # 30 Minutes } #### my $oldestfile; my $oldestage; foreach my $file (glob("$srcdir/*.xml")) { if( !defined($oldestfile) or -M $file > $oldestage ) { $oldestfile = $file; $oldestage = -M $file; } }