in reply to when i try to execute another scripts if fails

exit $already_there; ### call email perl #################### unless ( -z "$Temp" ) { print "File has something in it\n"; exec "c://testscripts//email.pl" or die "problem with email.pl"; }

If the intention is that the  unless (cond) { ... } block following the exit statement be executed, it will not and cannot be: the script has exit-ed! Did you mean to write
    exitif $already_there;
(a conditional statement) perhaps?