The return value is the PID. $? is the exit status of the child process.
The reason why the OP is getting 256 is explained in perlvar (the entry for $?):
The status returned by the last pipe close, backtick (``) command, successful call to wait() or waitpid(), or from the system() operator. This is just the 16-bit status word returnedby the wait() system call (or else is made up to look like it). Thus, the exit value of the subprocess is really ("$? >> 8"), and "$? & 127" gives which signal, if any, the process died from, and "$? & 128" reports whether there was a core dump. (Mnemonic: similar to sh and ksh.)
In reply to Re^2: What is a successful return status for perl wait() in Solaris?
by friedo
in thread What is a successful return status for perl wait() in Solaris?
by kduong
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |