unless在if 控制结构中,只有条件为真时,才执行块中的代码。如果你想在条件为假时执行,可以使用unless:除非条件为真,否则执行块中的代码unless($fred =~ /^[A-Z_]\w*$/i){print “The value of \$fred doesn’t look like a Perl identifier name.\n”;}unless 和else 语句一起使用unl
perl作为一种解释性的语言,很受广大系统管理员的欢迎,好处么就不多说了,坏处也有不少,例如对线程的支持,就一直不咋地,所以大多数情况下,我们都需要多个进程,来帮助我们完成工作,闲话少说,上代码。#!/usr/bin/perl# test_proc.pl# test multi process# create by lianming: 2009-08-12use strict;use
#!/usr/bin/perl#serveruse strict;use Socket;use IO::Handle;use POSIX ":sys_wait_h";my($this, $now);my $port = shift || 29688;my $address=inet_aton("0.0.0.0");$this =sockaddr_in($po
1234567eval{local$SIG{ALRM} = sub{ die"alarm time out"};alarm$TIMEOUT;$sock->recv($msg, $MAXLEN) or die"recv: $!";alarm0;1; # return value from eval on
在socket通信编程时,我们会往往假设TCP报文传输的排列是很紧密的,收完一个接着就是下一个,但是事实不是这样的。可能一般是紧密的,但是有个别情况出现,所以就出现了经典的接收信息的写法:以报头标量的总长度为条件,判断剩下的待接收内容的长度。下面是一个我自己定义的接收子函数:目的是从sock内接收$leng个长度的字符,返回读出的字符串变量:#### This function is made f
正则表达式的新手经常将贪婪匹配和最小匹配理解错误。默认情况下,Perl 的正则表达式是“贪婪地”,也就是说它们将尽可能多地匹配字符。下面的脚本打印出“matched defgabcdef”,因为它尽可能多地匹配模式,直至结尾的‘g’。$data = 'abcdefgabcdefg';$data =~ /abc(.+)g/i;print "matched ";要改
一、Expect模块安装通过安装Perl的Expect模块可以方便的实现远程主机自动登入和执行命令的功能。由于Expect模块依赖于IO::Tty模块,所以要使用Expect模块需要安装这2个模块:(1)IO-Tty-1.10 (2)Expect-1.21具体的安装模块很简单,和以前一样:perl Makefile.PL/make/make test/make install。二、Expect模块
IO::Select模块IO::Select模块[b]IO::Select[/b]系统调用select的面向对象接口use IO::Select;$s = IO::Select->new();$s->add(\*STDIN);$s->add($some_handle);@ready = $s->can_read($timeout);@ready = IO::Select-&
pl脚本异常:bad interpreter: No such file or directory在Linux中执行QAC测试,make qac在执行pl文件脚本时,发生异常/usr/bin/perl: bad interpreter: No such file or directory。 分析:这是不同系统编码格式引起的:在windows系统中编辑的.pl文件可能有不可见字符,所以在Linux系
/usr/bin/perl^M: bad interpreter: No such file or directory 今天执行 ./shuffleSequences.pl 遇到 /usr/bin/perl^M: bad interpreter: No such file问题,在网上找了找英文和中文的问题决。说法挺多。用vi shuffleSequences.pl 有的第一行是#!/u
Perl中的程序注释:单行注释和多行注释(一)单行注释:以#开头的行都被perl认为是注释。但是有一个例外,perl程序的第一行是#开头的,他指定了perl程序的解释器。例如:#print 1;(二)多行注释:最常用的方法是使用 POD(Plain Old Documentations) 来进行多行注释。方法如下:=podcodes to comment=cut注意:=pod =cut只能在行首以
\w 表示匹配大小写英文字母、数字以及下划线,等价于'[A-Za-z0-9_]'。\S 表示匹配非空白字符,范围可广了,只要不是空格、换行符、制表符、换页符即可你举的例子看不出区别,但你试试 my $names = "Fred and Bar-ney"; 就看出来了\w 不包括 :;"'+-*/@# 这些... 只有 [a-zA-Z0-9_]\
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号