|
NAMEProcess::Status - a handle on process termination, like $?VERSIONversion 0.009OVERVIEWWhen you run a system command with "system" or "qx``" or a number of other mechanisms, the process termination status gets put into $? as an integer. In C, it's just an integer, and it stores a few pieces of data in different bits.Process::Status just provides a few simple methods to make it easier to inspect. It exists almost entirely to provide "as_struct" and "as_string", which provide a simple decomposition of $?. Methods called on "Process::Status" without first calling a constructor will work on an implicitly-constructed object using the current value of $?. To get an object for a specific value, you can call "new" and pass an integer. You can also call "new" with no arguments to get an object for the current value of $?, if you want to keep that ugly variable out of your code. METHODSnewmy $ps = Process::Status->new( $status ); my $ps = Process::Status->new; # acts as if you'd passed $? status_codeThis returns the value of the integer return value, as you might have found in $?.is_successThis method returns true if the status code is zero.exitstatusThis method returns the exit status encoded in the status. In other words, it's the number in the top eight bits.signalThis returns the signal caught by the process, or zero.coredThis method returns true if the process dumped core.as_structThis method returns a hashref describing the status. Its exact contents may change over time; it is meant for human, not computer, consumption.as_stringThis method returns a string describing the status. Its exact contents may change over time; it is meant for human, not computer, consumption.Roughly, you might get things like this: exited 0 exited 92 exited 2, caught SIGDERP exited 2, caught SIGSEGV; dumped core assert_okProcess::Status->assert_ok($program_name); This method does nothing if $? is 0. Otherwise, it croaks with a message like: your-program-name exited 13, caught SIGNES If a program name is not provided, "program" is used. AUTHORRicardo Signes <rjbs@cpan.org>CONTRIBUTORS
COPYRIGHT AND LICENSEThis software is copyright (c) 2013 by Ricardo Signes.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Visit the GSP FreeBSD Man Page Interface. |