#!/usr/bin/perl use warnings; use strict; use File::Copy; my $srcdir = "\\\\windowsservername\\directory\\Subdirectory\\"; my $dest = "C:\\Documents and Settings\\"; LOOP: while (1) { undef $!; my %fileage = map { ($_ => (stat)[9]) } glob "$srcdir\\*.*"; die "can't glob $srcdir $!" if $!; my $xmlfile = (sort { $fileage{$a} <=> $fileage{$b} } keys %fileage)[0]; unless (defined $xmlfile){ print "Files have been ended.\n\n"; last LOOP; } 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 }