随笔分类 - perl
摘要:命令行:perl -pi -e 's|[old_string]|[new_string]|g' [file] find和xargs组合,递归的改变目录下所有文件的内容find /etc -type f| xargs perl -pi -e 's|/var/spool/mail|/var/spool/messages|g'
阅读全文
摘要:#!/usr/bin/perluse Class::Date qw(date);$unixtime = date("2002-03-03 10:06:54")->epoch;print $unixtime ."\n";$unixtime = date("2002-03-03 10:06");print $unixtime ."\n";
阅读全文
摘要:最近打算写一个c/s形式的socket 监控脚本。在网上找到了一个实例。由于以前很少接触socket,信号等东西,所以在写之前,先了解一下他们。下面是关于信号的一些基础知识: pid > 0:发送给进程ID为pid的进程 pid == 0:发送给与自己同组,并且自己有权限向其发送的进程 pid < -1:发送给进程组ID为-pid的进程,并且自己有权限向其发送的进程 pid == -1...
阅读全文
摘要:正则表达式中,括号是用来捕捉匹配上的字符,并把它们存入变量中,那只想用括号将某部分进行分组,该怎么办呢?只需要在开括号后面添加?:两个字符即可,如:if(/(?:bronto)?saurus (steak|burger)/){print “Fred wants a $1\n”;}则匹配上(steak|burger)的字符会被放到变量$1中
阅读全文
摘要:例子:假设在fred and barney went bowling last night 上使用/fred.+barney/进行匹配。我们知道正则表达式将匹配上,下面我们具体的讲解这一个过程:首先,子模式fred 将匹配其对应的字符串。模式的下一部分是.+,它将匹配除了换行符之外的任意字符,次数大于等于一。但,由于加号(+)是贪婪的;它将尽可能的进行匹配。因此,它将匹配剩余的所有字符串,包括ni...
阅读全文
摘要:通常,正则表达式是针对单行文本的。由于Perl 可以处理任意长度的字符串,因此,Perl 的模式可以轻易的对多行文本进行匹配,就像单行文本一样。当然,表达式中应当包含多行文本。下面的字符串中有4 行:$_ =“I’am much better\nthan Barney is\nat bowling,\nWilma,\n”;锚定^和$是指整个字符串的开头和结束,加强了理解,^和$指的是字符串的首和尾...
阅读全文
摘要:很多时候,我们希望对原有文件的内容进行一定的修改,linux虽然有sed这个强大的文本编辑命令,但是他只能生成新文件或打印到screen上(或许sed也具有修改原文件的功能,小的才疏学浅,尚不知道,烦请大家告诉我),但在perl里却有这么一个命令$^I例子:#!/usr/bin/perluse strict; $^I="";while(){ s/^rate.*/rate=0/; ...
阅读全文
摘要:Expect.pm 模块:主要用来和另外一个server进行交互的,比如ftp,telnet等等。在写一些监控脚步上,也会经常用到。我所用到的方法很简单,spawn($command,@params),Forks and execs $command. Returns an Expect object upon success or undef if the fork was unsuccessf...
阅读全文
摘要:在perl上装DBD:mysql ,就这事弄了多半天。mysql实在是不咋地 首先,在装DBD:mysql模块时,make后打印出错误信息,如下: gcc: language strconst not recognized gcc: dbdimp.c: linker input file unused because linking not done gcc: language strconst ...
阅读全文

浙公网安备 33010602011771号