You need to "daemonize" the child such that the parent doesn't pass the SIGINT down.
Either use setsid() from the POSIX module, or have a look at Proc::Daemon
More info here:
http://perldoc.perl.org/perlipc.html#Complete-Dissociation-of-Child-from-Parent