[perl]代码库
#-----------------------------
$status = system ( "vi $myfile" );
#-----------------------------
$status = system ( "vi", $myfile );
#-----------------------------
system ( "cmd1 args | cmd2 | cmd3 >outfile" );
system ( "cmd args <infile >outfile 2>errfile" );
#-----------------------------
$status = system ( $program, $arg1, $arg );
die "$program exited funny: $?" unless $status == 0;
#-----------------------------
if ( ( $signo = system ( @arglist ) ) &= 127 )
{
die "program killed by signal $signo\n";
}
#-----------------------------
if ( $pid = fork )
{
# parent catches INT and berates user
local $SIG {INT} = sub { print "Tsk tsk, no process interruptus\n" };
waitpid ( $pid, 0 );
}
else
{
die "cannot fork: $!" unless defined $pid;
# child ignores INT and does its thing
$SIG {INT} = "IGNORE";
exec ( "summarize", "/etc/logfiles" ) or die "Can't exec: $!\n";
}
#-----------------------------
$shell = '/bin/tcsh';
system $shell '-csh';
# pretend it's a login shell
#-----------------------------
system {'/bin/tcsh'} '-csh'; # pretend it's a login shell
#-----------------------------
# call expn as vrfy
system {'/home/tchrist/scripts/expn'} 'vrfy', @ADDRESSES;
#-----------------------------
@args = ( "echo surprise" );
system @args;
# subject to shell escapes if @args == 1
system { $args[0] } @args;
# safe even with one-arg list
#-----------------------------