Perl
文章平均质量分 64
sf_lsy
这个作者很懒,什么都没留下…
展开
-
perl读取配置文件
sub readConfig($){ my $file = shift; my %config = (); open (CF, " readConfig Reading config file: $file./n"; while () { chomp(); next if (/^/s*#/); next if (/^/s*$/); next unless (/^[^;]+;[^;]+$/); $_ =~ s/^/s*/原创 2011-01-14 16:31:00 · 6586 阅读 · 1 评论 -
perl正则表达式递归
<br /> 今天在chinaunix上看到有个贴,问<br /> 设最外层括号为第 1 层,请问怎么样能够除去 1 对第 2 层的括号,保留其他括号?<br /><br /> 例如:(((1,2),3),4) => ((1,2),3,4)((1,2),(3,4)) => ((1,2),3,4) or (1,2,(3,4)) (1,转载 2011-02-22 12:32:00 · 1796 阅读 · 0 评论 -
替换字符串中间的某些字符
#!/usr/bin/perl$str = "###123a###01#02#03###b321###";$x = "3a";$y = "b3";$source = '#';$dest = '!';$str =~ s/($x|$y)//n$1/g;@array = split //n/, $str; foreach $i (0 .. $#array){ if (($array[$i] =~ /a/) .. ($array[$i] =~ /b/) and $ar原创 2011-02-21 11:11:00 · 1067 阅读 · 0 评论 -
哈希引用的赋值及输出
<br />1.使用哈希引用<br /> my $hash = {}; #定义一个空的匿名哈希作为哈希引用的初始化<br /> <br />2.哈希赋值<br /> a.给字符串赋值<br /> $hash->{a} = 'x';<br /> b.给数组赋值<br /> @array = (1, 2, 3);<br /> foreach (@array)<br /> {<br /> push @{$hash->{b}} = $_;<br /> }<br />原创 2011-02-17 10:50:00 · 6097 阅读 · 0 评论 -
删除N天前的日志文件
#!/usr/bin/perlmy $Date=`date +%s`;$Date -= 17*86400;($sec,$min,$hour,$mday,$mon,$year_off,$wday,$yday,$isdat) = localtime($Date);my $year_tmp = $year_off + 1900;my $month_tmp = $mon+1;( $mon_tmp localtime函数,根据它所在的上下文,可以用两种完全不同的方法来运行。在标量上下文中,lo原创 2011-02-11 14:07:00 · 914 阅读 · 0 评论 -
Perl正则表达式处理换行
use strict; <br />my $values ; <br />open(OUTFILE,"file.txt") or die("Can't find file.txt:$!") ; <br />while(defined($values= <OUTFILE>)){ <br /># print $values ; <br /> if($values =~ /.*User Name:(.*);(.*)/ms){ <br /> print $1; <br />转载 2011-02-09 15:11:00 · 4089 阅读 · 0 评论 -
各种工具之正则表达式语法比较
在各种常用的工具中,正则表达式如此的相似却又不同。下表列出了一些常用的正则表达式,以及其不同之处。项目总多,遗漏必有不少,请各位看官不吝指出。以perl的正则为基准,不同的用法以粉红色标出。grep 2.5.1egrep 2.5.1sed 3.02sed 4.07awk 3.1.1perl 5.8.0vim 6.1JavaScript ??转义///////行头^^^^^^^行尾$$$$$$$n个 {n} {m,n} {m,} {,n}/{n/}{n}/{n/}{n}或/{n/} 仅定义 --posix 或转载 2011-01-21 16:40:00 · 1133 阅读 · 0 评论 -
关于正则表达式问题
在perl中执行shell语句时 `ls -l | awk '{print $3}'`报错Use of uninitialized value in concatenation (.) or string at test.pl line 3.这里需要转义$。将`ls -l | awk '{print $3}'`改为`ls -l | awk '{print /$3}'`即可。原创 2011-01-21 14:28:00 · 731 阅读 · 0 评论 -
各种平台下Perl模块的安装方法
<br /><br />1、Linux/Unix下的安装方法:<br /> Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装。第一种方法是从CPAN上下载您需要的模块,手工编译、安装。第二种方法是联上internet,使用一个叫做CPAN的模块自动完成下载、编译、安装的全过程。 <br />a、手工安装的步骤:<br />从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz,假设放在/usr/local/src/下。 <br />cd /usr/local/s转载 2011-01-19 09:35:00 · 758 阅读 · 0 评论 -
perl发html+附件的邮件
sub sendHtmlMail { my ($to, $subject, $body, $attach, $from) = @_; my $CRLF = "/r/n"; my $Raw_Bond = "=======Boundary======="; my $Bond = "--=======Boundary======="; my @receivor = split /[,;]/, $to; $body原创 2011-01-14 16:36:00 · 1194 阅读 · 0 评论 -
[转自msdn]正则表达式语法
<br />正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例 表达式 匹配 <br />/^/s*$/<br />匹配空行。<br />//d{2}-/d{5}/<br />验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。<br />/</s*(/S+)转载 2011-02-21 17:27:00 · 853 阅读 · 0 评论