http://www.perlmonks.org?node_id=52216


in reply to How to exec in a separate thread?

exec() is not what you want. What you may want instead are either fork() or system() or do().

Some examples (without error checking, do a Super Search on each of these things to find out more):

system( 'print.pl' ); # starts print.pl and continues when print.pl finishes # or alternatively do( 'print.pl' ); # Runs print.pl as if the text was typed instead of # the do(...) line # or alternatively a version which is semi-portable to # Windows as fork() dosen't really work there my $pid; $SIG{CHLD} = sub { wait }; if ($pid = fork()) { # I am the master, so I continue here } else { # I am the child, so I print };

If you really really really want to use fork(), I recommend you use the Super Search and read the man pages about it, because there is much more to fork() than what I've touched on here.