$SIG{USR1} = \&status; sub status () { $SIG{USR1} = \&status; print "\n Status is: $status"; } foreach $path (@paths) { my $pid = open3(*CMD_IN, *CMD_OUT, *CMD_ERR, $path); $status = $path; waitpid($pid, 0); }