perl脚本语言
文章平均质量分 52
sq_Mark
各位技术达人,相互学习,共同进步!!
展开
-
perl中socket通讯时信息传递 换行符
在socket通讯时可以使用 print $sock $std; 进行数据传递,切记信息内容的末尾一定要加上 \n 换行,否则目的放将会不休止等待换行。原创 2013-02-18 18:03:42 · 711 阅读 · 0 评论 -
perl脚本异常:bad interpreter No such file or directory
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文件可能有不可见字符,所转载 2013-03-20 11:25:09 · 1472 阅读 · 0 评论 -
Perl中的程序注释:单行注释和多行注释
Perl中的程序注释:单行注释和多行注释(一)单行注释:以#开头的行都被perl认为是注释。但是有一个例外,perl程序的第一行是#开头的,他指定了perl程序的解释器。例如:#print 1;(二)多行注释:最常用的方法是使用 POD(Plain Old Documentations) 来进行多行注释。方法如下:=podcodes to c原创 2013-03-20 11:24:11 · 980 阅读 · 0 评论 -
IOSelect模块
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);@read转载 2013-03-18 11:07:41 · 700 阅读 · 0 评论 -
Expect模块安装 Perl脚本
一、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。转载 2013-03-15 14:49:36 · 1569 阅读 · 0 评论 -
[perl]理解贪婪匹配和最小匹配之间的区别
正则表达式的新手经常将贪婪匹配和最小匹配理解错误。默认情况下,Perl 的正则表达式是“贪婪地”,也就是说它们将尽可能多地匹配字符。下面的脚本打印出“matched defgabcdef”,因为它尽可能多地匹配模式,直至结尾的‘g’。$data = 'abcdefgabcdefg';$data =~ /abc(.+)g/i;print "matched ";要改变匹配特点,原创 2013-03-15 14:23:44 · 2050 阅读 · 0 评论 -
perl中调用recv函数阻塞,设置超时
1234567eval { local $SIG{ALRM} = sub { die "alarm time out" }; alarm $TIMEOUT; $sock->recv($msg, $MAXLEN) or die "recv: $!"; alarm 0;原创 2013-02-27 13:32:04 · 593 阅读 · 0 评论 -
Perl Socket 通信recv超时退出子进程
#!/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转载 2013-02-25 18:03:01 · 875 阅读 · 0 评论 -
Perl多进程实战之一
perl作为一种解释性的语言,很受广大系统管理员的欢迎,好处么就不多说了,坏处也有不少,例如对线程的支持,就一直不咋地,所以大多数情况下,我们都需要多个进程,来帮助我们完成工作,闲话少说,上代码。#!/usr/bin/perl# test_proc.pl# test multi process# create by lianming: 2009-08-12use st转载 2013-02-21 17:41:24 · 438 阅读 · 0 评论 -
socket 通信心得以及几个自己开发写的可复用函数 perl
在socket通信编程时,我们会往往假设TCP报文传输的排列是很紧密的,收完一个接着就是下一个,但是事实不是这样的。可能一般是紧密的,但是有个别情况出现,所以就出现了经典的接收信息的写法:以报头标量的总长度为条件,判断剩下的待接收内容的长度。下面是一个我自己定义的接收子函数:目的是从sock内接收$leng个长度的字符,返回读出的字符串变量:#### This function is made原创 2013-03-04 15:57:37 · 301 阅读 · 0 评论 -
perl fork() $pid = waitpid(-1, WNOHANG
Forking in perl is a nice thing to do, and for some it’s a hard thing to understand. It can be pretty easy to get lost especially since there are 100 ways to the same thing. I’m going to attempt to ex原创 2013-02-19 10:47:09 · 2103 阅读 · 0 评论 -
匹配空格和数字的perl小程序
昨晚匹配负数,写了这样一个练习的程序:my @a;$a="5 4 -8 -1 -5 6 -6 -3 0 55 8 -9 5 -3 -6";while ($a=~/\s+(-\d)\s+/g){push @a,$1;}print "@a\n";正则表达式:一个负号和一个一位数字前后,各有一个或多个空格。输出结果:-8 -5 -6 -9 -3。原因:最末尾的“-原创 2013-02-18 17:48:35 · 2919 阅读 · 0 评论 -
perl 中部分正则表达式的标记
\w 表示匹配大小写英文字母、数字以及下划线,等价于'[A-Za-z0-9_]'。\S 表示匹配非空白字符,范围可广了,只要不是空格、换行符、制表符、换页符即可你举的例子看不出区别,但你试试 my $names = "Fred and Bar-ney"; 就看出来了\w 不包括 :;"'+-*/@# 这些... 只有 [a-zA-Z0-9_]\S 非空白就行了, 可原创 2013-03-25 15:16:26 · 569 阅读 · 0 评论