#!/usr/bin/perl eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; use strict; BEGIN { my $old = select STDERR; $|++; # turn on autoflush select $old; $|++; # turn on autoflush $0 = shift(@ARGV); # rename the script my $rv = do($0); # execute the file die $@ if $@; # die on parse/execute error } ### XXX 'do' returns last statement evaluated, which may be ### undef as well. So don't die in that case. #die $! if not defined $rv; # die on execute error