#! perl -slw use strict; my $sharePath = '...'; while( 1 ) { for( glob $sharePath . "IN/*" ) { my( $filename, $expected ) = m[/([^/]+)\.(\d+)$]; if( $expected == -s ) { rename $_, "$sharePath/$filename"; system 1, qq[theProcessingScript.pl <$sharePath/$filename >$sharePath/OUT/$filename]; } } sleep 1; }