You are looping over all of the %ext keys, and provided that $ext{$6} exists, assigning a value to $tad for each key. Therefore, the final value of $tad will always be the same, i.e. the one determined by the last key.
> foreach $key ( keys %ext ) { # > if (exists $ext{$6}){ # This is the time consumer > $tad=$ext{$key}; # > } > } Try using the following in place of the above code. $tad=$ext{$6}; It should work and perform about 3000 times faster than your loop (based on the size of your key file). Tim _______________________________________________ Perl-Win32-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs