use warnings; use strict; use Proc::Background; my @cmd = qw(perl sleep.pl); my $proc = Proc::Background->new(@cmd); my $pid = $proc->pid; print "*** $pid ***\n"; #### ~/scratch$ perl proc.pl *** 3489 *** ~/scratch$ ps ax | grep sleep 3489 pts/1 S 0:00 perl sleep.pl