eval
{
my $tmpCmd="ping 192.168.0.1";
local $SIG{ALRM} = sub { alarm 0; die "TIMEOUT"; };
alarm(10);
my $startCmdResult = qx($tmpCmd);
alarm(0);
};
if ($@ =~ /TIMEOUT/)
{
print "ping timeout";
}
2. 忽略SIGCHLD信号,避免产生僵尸进程
$SIG{CHLD} = 'IGNORE';
3.等待
sub show_flower
{
local $| = 1;
my @progress_symbol = ('-','\\','|','/');
my $n = 0;
my $count=8;
while($count--)
{
#print "\r$progress_symbol[$n]";
$n = ($n>=3)? 0:$n+1;
select(undef, undef, undef, 0.1);
}
#print "\r";
local $| = 0;
}
4. Perl多行注释
单行注释:用#号
多行注释:
最常用的方法是使用 POD(Plain Old Documentations) 来进行多行注释。方法如下:
=pod
codes to comment
=cut
5. 类似于unix shell中的“此处文档”语法
#!/usr/bin/perl -w
$P = 3.1415926;
print <<EOF;
the price is $P.
Hello World.
EOF
6. Perl常量的用法
use constant PI => ( 4* atan2(1,1) );
PI=6; # Cannot modify PI; produces an error.
use constant DEBUG => 1;
print "Pi equals ", PI, "...\n" if DEBUG;