The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

#!/usr/bin/env perl
use strict;
use FindBin qw($Bin);
print "My bin is $Bin\n";
$| = 1;
my @vars = ( "", qw(carp always never) );
#run_cmd();
for my $var (@vars) {
run_cmd($var);
}
sub run_cmd {
my($flavor) = @_ ? @_ : undef;
my $cmd = "$^X -I lib $Bin/test-assert";
$cmd =~ s/^/ASSERT_CONDITIONAL=$flavor / if defined $flavor;
print "\nRUNNING: $cmd\n";
my $rc = system $cmd;
my($exit, $signo, $core) = ($rc >> 8, $rc & 127, $rc & 128);
$core = " (core dumped)" if $core;
my $status = '';
if ($signo) {
$status = "Signal $signo";
$status .= " $core" if $core;
} else {
$status = "Exit $exit";
}
print "$status\n";
}