use POSIX qw(setsid); ... # inside your forked child setsid() or die "Can't start a new session: $!";