in reply to Synchronizing Multiple System Processes

It's not a direct answer to your question but since script1.pl and script2.pl are obviously perl scripts (and I assume you can edit them), I would 'wrap' their code in a module and start like
# untestest # ... use lib1 qw(sub_for_perl1); use lib2 qw(sub_for_perl2); #... sub_for_perl1($file_in, $file_out); if ( -e $file_out) { sub_for_perl2($file_out, $final_out); }
or similar. So you can benefit from a better error handling etc. (It could be possible your result file isn't there because script1.pl fails already.)
I use this approach often since I try to avoid calling scripts from other scripts, if possible.

k