sub test_code { my $code_to_check = shift; my $pid = open(PERL, "|-"); if (!$pid) { die "fork: $!" unless defined $pid; exec("/usr/bin/perl", "-cw") or die "/usr/bin/perl: $!"; } print PERL $code_to_check; close(PERL); return !$?; # $? == 0 means compile succeeded }