随笔分类 - perl
perl语言相关
摘要:守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。 比如...
阅读全文
摘要:基本的判别如下:0,‘0’,undef,以及‘ ’(空字符串)都是假值。其他皆为真
阅读全文
摘要:转载:http://www.cnblogs.com/xinghua/archive/2007/02/07/643867.html一) sort函数sort LISTsort BLOCK LISTsort SUBNAME LISTsort的用法有如上3种形式。它对LIST进行排序,并返回排序后的列表。假如忽略了SUBNAME或BLOCK,sort按标准字串比较顺序来进行(例如ASCII顺序)。如果指定了SUBNAME,它实际上是个子函数的名字,该子函数对比2个列表元素,并返回一个小于,等于,或大于0的整数,这依赖于元素以何种顺序来sort(升序,恒等,或降序)。也可提供一个BLOCK作为匿名子函
阅读全文
摘要:转载自:http://bbs.linuxpk.com/thread-37897-1-1.htmlPERL 语言中的q,qw,qr,qx,qq......符号用法总结在perl语言中,有两个特殊而常用的符号qq qw,分别解释如下:qq{foobar}的意思为意思为双引号字符串,可内插变量相当于 "foobar"qw{foo bar}的意思为用空格分解字符串,得到列表,相当于如下语句split(' ','foo bar') 得到的结果是'foo','bar'字符串比较等于用 eqq运算符对'号转义的方式$
阅读全文
摘要:Perl's ucfirst() function takes a string, makes the first character uppercase, and then returns the new string. $myName = 'andrew'; $myUpperName = ucfirst($myName); First, $myName is set to a value of 'andrew', then the ucfirst() function is run on $myName. The ucfirst() function
阅读全文
摘要:在perl中有多种的表示继承的形式,这里说的是rt的两个表示继承的关键词base和parent。是的,两者都是表示继承的关系,并且是同时加载父类module,那么两者又有怎样的区别那,如果继承的父类又继承于其他的父类,同时这两个package是在同一个文件里的,只有使用parent关键词了另外,当base tires to require a module,it will not die if it cannot find the module's 但是如果父类为空,含有空的符号表的时候,就会die了参考url:http://perldoc.perl.org/parent.html h
阅读全文
摘要:caller caller EXPR这个函数返回关于当前子过程调用等方面的堆栈信息。如果没有参数,它返回包名,文件名,和调用当前子过程的程序的行号: ($package, $filename, $line) = caller;如果带参数调用,caller 把 EXPR 算做从当前的堆栈位置向回退的桢数。比如,参数 0 意思是当前堆栈桢,1 意思是该调用者,2 意思是调用者的调用者,以此类推。[plain] view plaincopy#!/usr/bin/perlusestrict;usewarnings;subb{my$x=(caller(0))[3];print"\nInsubr
阅读全文
摘要:转自:http://blog.sina.com.cn/s/blog_4af3f0d20100faph.html方法一:perl -M模块名 -e ''如果没反应,表示有方法二:使用perldoc相应文档,例如CGI.pl是随perl发布的一个模块$perldoc CGI方法三:利用命令#!/usr/bin/perluse strict;use ExtUtils::Installed;my $inst= ExtUtils::Installed->new();my @modules = $inst->modules();foreach(@modules){ my $ve
阅读全文
摘要:1 匹配行首 '^' or '\A'断言区别:当使用m(多行)修饰符时,^匹配每行的行首,而\A仍然仅在整个字符串的开头进行匹配eg:$_ = "this is\na multi file"; s/^/BOL/g; #BOL this is #BOL a multi file s/\A/BOL/g; #BOL this is #a multi file2 匹配行尾 '$' or '\z'/'\Z''$' 在行尾之前进行匹配$_ = 'Here is some text\n
阅读全文
摘要:The interesting thing about & is that you can generate new syntax with it, provided it's in the initial position: sub try (&@) {my($try,$catch) = @_;eval { &$try };if ($@) {local $_ = $@;&$catch;}} sub catch (&) { $_[0] }try {die "phooey";} catch {/phooey/ and print
阅读全文
摘要:前序我们知道,do 'filename'是从文件里读出内容然后执行其中的语句,返回最后一个表达式的值,还有perl特殊字符的就是噔噔-- $/ 啦, 只是起到分隔符的作用,即对匹配的字符分割。好了说完了,正式入题,如果在使用1 my $pro=do{2 local $/;3 <filename>4 }5 print $pro;$/ 没有赋值会怎样,结果会出现什么。是的如果filename文件里只有一行字符,不好意思,没有任何可见的影响,有n(n>2)行,可以看到会打印filename里的所有东西出来。$/ 进行赋值后,只会打印匹配至的字符串出来。有意思吧,为什
阅读全文
摘要:map操作和grep操作非常相似,因为他们有同样的参数:一个关注$_的代码块和一个待处理的列表。并且他们的工作模式也非常相似,为每个成员执 行一次代码块,块中用$_这个化名迭代原始列表每个成员。但是差别在一个:快最后返回的结果不是真假,而是新产生的列表元素。任何grep或map都可以 用foreach循环来重写,当然还得把结果存在一个临时数组中才行。另外grep或map的结果仍然是一个列表,所以可以直接传给另一个函数去处理。比 如:要用右对齐的财务数据格式打印列表:print “The money number are : \n” , map{sprinft("%25s\n"
阅读全文