my %files = "source1.pl" => " source1.exe", "source2.pl" => " source2.exe", ... "source375.pl" => " source375.exe", ); while (my ($source, $exe) = keys %files) { my ($source, $exe) = splice(@ARGV, 0, 2); if (-m $source > -m $exe) { system "pp -o $exe --link=C:\strawberry\c\bin\libmysql_.dll -x -c -vvv $source"; } }