in reply to Optimization tips

foreach $files (@ARGV) { ... foreach $line (@lines) { #Mapping des charges directes seek MAPPINGFILE1, 0, 0; while (<MAPPINGFILE1>) { ...
Mentioned, but here to be clear. Nothing you do is going to help if you're nesting loops. Also, checkout this talk on Supercharging Perl from YAPC this year.