perl
diana_cherry
这个作者很懒,什么都没留下…
展开
-
perl hash 常见用法
基本用法# 初始化 %h为空数组%h={};# 用数组初始化%h为 a=>1, b=>2%h=('a',1,'b',2);# 意义同上,只是另一种更形象化的写法。%h=('a'=>1,'b'=>2);#如果key是字符串,可以省略引号。下面这行和上面那行是一样的%h=(a=>1, b=>2);# 用{}来访问print"$h{a}/n";# 打印1$h{b}='2b';print"$h{b}/n";# 打印2b# 删除key用deletedelete$h{b};# 从$h删除'b'清转载 2010-12-09 18:19:00 · 1003 阅读 · 0 评论 -
perl对于utf8编码文件的substr
perl脚本本省使用utf8编码,环境默认编码为utf81.加上use utf8;后,print substr("哈哈",0,1),"\n";就正常输出了2.但是,读入utf8编码的文件在做substr还是有问题,加上 FH,"就好了Wide character in print 的警告信息,加上3.但是,会有binmode(STDIN, ':encoding(utf8)');原创 2012-09-14 16:54:13 · 1473 阅读 · 0 评论 -
Perl 的线程中的共享
原文来自:http://blogread.cn/it/article.php?id=3754线程是一个好东西,他不象进程占用那么多的内存,因不他不需要主空间,不需要进程控制块。他只共享所有主进程的所有内容。所以今天我们来研究一下线程的特点之一,共享的变量。在线程中变量的基本使用的方法如果你打算使用线程,常常会在多个子线程之间共享一些变量,常用的共享的变量可以是标量,数组,散转载 2012-09-12 17:17:37 · 1797 阅读 · 0 评论 -
perl File::Tail模块的使用
最近在做一个实时数据的工作,需要读取不断更新的文件,类似shell中tail的功能,使用了perl的File::Tail模块,简要代码如下use File::Tail;my $file=File::Tail->new(name=>&new_file($first_file_date),interval=>1,maxinterval=>10,tail=>-1,reset_tail=>-1原创 2012-03-16 15:53:59 · 3369 阅读 · 0 评论 -
据说是百度的面试题之一,自己写的答案
1、写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中。A:head -q -n 1 `find . -maxdepth 1 -type f -name "f*"|head -n 2 ` >new head -q 是指在head多个文件时不显示文件名2、写脚本实现,可以用shell、perl等。把文原创 2012-01-14 16:56:12 · 1213 阅读 · 0 评论 -
perl 正则内插变量
<br />1. my $t="123";<br />if($url=~//Q$t/E/<br />2.,如果标量为:<br />$scalar = " ({";<br />那么输入如下代码:<br />$variabie =~ m" $scalar" ;<br />就等价于是说原创 2011-03-31 11:40:00 · 2357 阅读 · 1 评论 -
perl正则表达式分隔符的选择
一直以来使用//做为正则的分隔符,在配置url的时候很不方便,比如http://topic.csdn.net/t/20030923/18/2292095.html,要将里面的/都转义为\/,后来发现可以使用其他字符做分隔符,if($sql=~m{in}){print原创 2011-08-05 11:07:37 · 1115 阅读 · 0 评论 -
perl 文件操作相关
<br /><br />use File::Glob ':glob';<br />my $filepath=$ARGV[3];<br />my @fileList = bsd_glob($filepath);原创 2011-04-12 11:48:00 · 439 阅读 · 0 评论 -
perl 时间
<br /><br />my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time()-3600*17);<br />$year += 1900;<br />$mon++;<br />if($mon <10){<br />$mon='0'.$mon;<br />}<br />if($mday <10){<br />$mday='0'.$mday;<br />}<br /> <br />if($hour <10){<br />原创 2011-03-29 18:08:00 · 567 阅读 · 0 评论 -
定向STDOUT重新定向回屏幕输出
<br />open(OUTBAK,">&STDOUT");<br />open(STDOUT,">&FH");<br /><br />...some dealing here...<br /><br />close STDOUT;<br />open(STDOUT,">&OUTBAK");<br />close OUTBAK;原创 2011-02-16 17:41:00 · 601 阅读 · 0 评论 -
perl hash 按值排序 升序 降序
<br />降序<br />foreach my $key (sort { $hashT{$b} <=> $hashT{$a} } keys %hashT){<br /> printf("%s/t%s/n",$key, $hashT{$key});<br />}<br />升序<br />foreach my $key (sort { $hashT{$a} <=> $hashT{$b} } keys %hashT){<br /> printf("%s/t%s/n",$key, $原创 2011-03-03 17:46:00 · 7652 阅读 · 0 评论 -
perl heapSort
<br />sub heapSort{<br /> my %hashMap=@_;<br /> my $heap = Heap::Fibonacci::Fast->new();<br /> my $num = 0;<br /> foreach my $kk (keys %hashMap) {<br /> my $k = $hashMap{$kk};<br /> my $v = $kk;<br /> if( $num < 1000 ){原创 2011-01-05 17:48:00 · 386 阅读 · 0 评论 -
perl 写多个文件
open FILE_1, "> > file1.txt "; open FILE_2, "> > file2.txt "; open FILE_3, "> > file3.txt "; print FILE_1 "OK/n "; print FILE_2 "NO/n "; print FILE_3 "YES/n "; close FILE_1; close FILE_2; close FI转载 2010-12-21 15:15:00 · 1144 阅读 · 0 评论 -
多重hash与exists函数
猜猜下面程序的输出结果是什么?use strict;use warnings;my %testHash=();$testHash{"a"}{"a1"}="a1";$testHash{"a"}{"a2"}="a2";if(exists $testHash{"d"}{"d1"}){ print "haha/n";}elsif (exists $testHash{"d"}){ print "xixi/n"}else{ print "yangyang/n"原创 2010-12-22 15:11:00 · 1459 阅读 · 0 评论 -
perl printf函数
printf函数可以格式化输出字符串用法:printf FILEHANDLE FORMAT,LISTprintf FORMAT, LIST例如:printf函数先格式化字符串再输出到指定文件或当前缺省文件中,如: printfOUTFILE (“You owe me %8.2f",$owing);此语句取出变量$owing的值并替换掉串中的%8.2f,%8.2f是域格式的例子,把$owing的值看作浮点数。使用printf格式化输出printf函数有一个模板,叫格式字符串,它可以规定转载 2010-12-15 09:41:00 · 1369 阅读 · 0 评论 -
Perl 中的正则表达式
正则表达式的三种形式 正则表达式中的常用模式 正则表达式的 8 大原则 正则表达式是 Perl 语言的一大特色,也是 Perl 程序中的一点难点,不过如果大家能够很好的掌握他,就可以轻易地用正则表达式来完成字符串处理的任务,当然在 CGI 程序设计中就更能得心应手了。下面我们列出一些正则表达式书写时的一些基本语法规则。--------------------------------------------------------------------------------转载 2010-12-15 17:09:00 · 461 阅读 · 0 评论 -
Perl 读写 .gz .tgz 等压缩文件
原文来自:http://qyiyunso.blog.163.com/blog/static/350776862010111511336701/1. 使用PERL直接读取压缩文件 use pipe.gz格式文件1open(FIN,"gzip -dc $infilename|") or die ("can not open $infilen转载 2012-11-12 15:09:48 · 9705 阅读 · 0 评论