++ed by:
1 non-PAUSE user
Author image perlancar


Proc::ChildError - Explain process child error


This document describes version 0.04 of Proc::ChildError (from Perl distribution Proc-ChildError), released on 2016-01-06.


explain_child_error([\%opts, ]$child_error, $os_error) => STR

Produce a string description of an error number. $child_error defaults to $? if not specified. $os_error defaults to $! if not specified.

The algorithm is taken from perldoc -f system. Some sample output:

 failed to execute: No such file or directory (-1)
 died with signal 15, with coredump
 exited with value 3

An options hashref can be specified as the first argument to add information. Currently known keys:

  • prog => str

    Program name/path, to include in error messages:

     /usr/bin/foo failed to execute: Permission denied (-1)
     foo died with signal 15, with coredump
     /usr/bin/foo exited with value 3


Process::Status provides a lightweight OO interface for $?. I recommend this module now over Proc::ChildError.

IPC::System::Simple provides a replacement for Perl's system(), with the difference that it will print a diagnostic error message similar to what Proc::ChildError provides. You only need to do use IPC::System::Simple qw(system) and use system() as usual. Recommended.


Please visit the project's homepage at https://metacpan.org/release/Proc-ChildError.


Source repository is at https://github.com/perlancar/perl-Proc-ChildError.


Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Proc-ChildError

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


perlancar <perlancar@cpan.org>


This software is copyright (c) 2016 by perlancar@cpan.org.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.