The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl

use warnings;
use strict;

use Config;
use Term::ANSIColor ':constants';
my $CRST = RESET;
my $CCODE = BOLD;
my $CSTAT = BOLD . GREEN;
my $CCORE = BOLD . CYAN;
my $CSIG = CYAN;

if (@ARGV) {
  my $code = system (@ARGV);

  if ($code < 0) {
    exit 127;
  }
  elsif ($code > 0) {

    my $status = $code >> 8;
    my $signum = $code & 127;
    my $core = $code & 128;

    my %sig_idx;
    @sig_idx{split /\s+/, $Config{sig_num}} = split /\s/, $Config{sig_name};

    printf STDERR (
<<EOF

Results of execution: `%s`
----------------------
System exit code:$CCODE %d $CRST$CSIG %s $CRST
 ($CSTAT%08b$CRST$CCORE%b$CRST$CSIG%07b$CRST)

Status: %3s ($CSTAT%08b$CRST)
Signal: %3s ($CSIG%08b$CRST)
Core:   %3s
----------------------
EOF
    , (join ' ', @ARGV),
      $code, ($signum ? "(SIG-$sig_idx{$signum})" : ''),
      $status, $core, $signum,
      ($status) x 2,
      ($signum) x 2,
      ($core ? 'Yes': 'No')
    );

    exit ($status);
  }
}