08 2012 档案
摘要:@backwards = reverse qw /yabba dabba doo /;$fred = @backwards; # 3($fred) = @backwards; # doo@betty = (); #将数组置空的正确方法@rocks = qw(talc quartz jade obsidian);print @rocks, "\n"; #talcquartzjadeobsidianprint scalar @rocks, "\n"; # 4<STDIN>在标量context 中返回输入的下一行。在列表context 中,它将返回
阅读全文
摘要:匹配FRED 时,也能匹配上fred, Fred,可以使用修饰符/i。点(.)不匹配换行符,这对于“单行中查找”的问题能很好解决。如果你的字符串中有换行符,那可以使用/s 这个修饰符。$_="I saw Barney\ndown at the bowling alley\nwith Fred\nlast night.\n";if(/Barney.*Fred/s){print "That string mentions Fred after Barney!\n";}else{print "No matched!"}/x 修饰符,允许你在
阅读全文
摘要:对于字符串比较,Perl 有如下的一些有趣的字符串比较符:lt le eq ge gt ne。(注意,在ASCII 中,大写字母在小写字母的前面)。相等= = eq不等!= ne小于< Lt大于> gt小于或等于<= le大于或等于>= ge$text = “a line of text\n”;chomp($text); #去掉换行符(\n)。chomp ($text = <STDIN>); #从键盘读入,去掉换行符正则表达式查看某个给定文件中是否某行提到过flint,同时同一行后面提到stone$grep‘flint.*stone’chapter*.txt
阅读全文
摘要:printf:要输出数字,通常使用%g◆,它将根据需要自动选用浮点数,整数,或者指数。%d 为十进制◆整数,根据需要而截尾。%x 是针对十六进制的,%o 是针对八进制的。%s 是针对字符串的。 printf “%10s\n”, “wilma”; #输出为:○○○○○wilma 如果宽度值为负数,则为左对齐(对于所有的格式符) print “%-15s\n”, “flintstone”; #输出为flintstone○○○○Perl 自身有六个文件句柄:STDIN,STDOUT,STDERR,DATA,ARGV,ARGVOUT◆。$ ./your_program <dino >Wil
阅读全文
摘要:在while 循环中,Perl 读入一行,将它赋给变量,然后进入循环。再回到开头,读入下一行。但在foreach 循环中,由于行输入操作在列表的context 中使用,因为foreach 需要一个列表作为其参数。因此,它在循环执行前会将所有的输入读入。这种区别在读入一个400MB 的web 服务器的log 文件时非常明显。通常使用while 循环是一种更好的方法,因为它一次处理一行输入。$ ./my_program fred barney betty上述命令的含义是,运行my_program(在当前目录下),它将处理文件fred,再处理文件barney,最后是文件betty。如果没有命令行参数
阅读全文
摘要:如果你想知道更多的关于正则表达式的信息可以参看Jeffrey Friedl(O’Reily)的书籍《掌握正则表达式》(Mastering Regular Expessions)。
阅读全文

浙公网安备 33010602011771号