#!/usr/bin/perl -w use v5.14; no if $] > 5.017011, warnings => 'experimental::smartmatch'; my ($format, $basename, $name) = @ARGV; my $ret = fork // die $!; if ($ret) { $SIG{ALRM} = sub {kill KILL => $ret}; alarm 5; wait; exit $? >> 8 } else { given ($format){ exec 'g++', '-o', $basename, $name when 'CPP'; } }