
Perl
NorZ
这个作者很懒,什么都没留下…
展开
-
Perl学习笔记 No.1
1. 写好代码, #chmod 755 文件名,就可以直接运行2. 也可以调试, #perl -M 文件名3. 转移字符只在双引号字符串中起作用, 标量变量内插亦同4. 标量变量直接使用,以$开头5. 字符串连接使用 . 6. 在变量前使用/,变量不会被内插,"/$变量名"7. 使用{}将变量括起来,可以保证匹配8. 2**3,2的3次方 //真是太方便原创 2010-04-21 13:54:00 · 429 阅读 · 0 评论 -
Perl学习笔记 No.7
perl中的正则表达式 1. .是通配符,可以匹配任意的单字符,换行符除外,如果要在模式中用到.,则使用/.即可2. *可以匹配前一项0次或任意多次,比如/ab*c/匹配 ac,abc,abbbbbc...3. +可以匹配前一项1次或任意多次,比如/ab+c/,匹配 abc,abbc,abbbbc...4. ?意思是前面一项出现1次或者不出现,原创 2010-04-22 09:40:00 · 491 阅读 · 0 评论 -
Perl学习笔记 No.11
1. die "Oops!A file named $filename already existed!" if -e $filename 使用-e选项,在系统创建文件前检测文件是否已存在2. warn “Config file is looking pretty old! /n ” if -M CO原创 2010-04-23 09:13:00 · 455 阅读 · 0 评论 -
Perl学习笔记 No.10
1. unless语句,if是条件为真时执行,unless是条件为假时执行2. 缩写语句.&error("Invalid input”) unless &valid($input); $i *= 2 unitl $i > $j; print “” ,($n += 2) while $n 3. 裸块(The Naked Block),这通常是为临时变量提供作用域.4.原创 2010-04-22 15:39:00 · 492 阅读 · 0 评论 -
Perl学习笔记 No.9
使用正则表达式处理文件1. s///,s/abc/fred/ 先匹配abc,如果匹配上,使用fred替换abc;如果没有匹配上,则什么都不做2. s///g,全局替换,s/abc/fred/g,将所有abc都替换成fred3. 可以使用其他符号替代/作为分隔符4. /six同样适用5. $_ = “I saw Barney with Fred.”;原创 2010-04-22 12:40:00 · 476 阅读 · 0 评论 -
Perl学习笔记 No.13
1. $where = index($big, $small); 字符位置是从 0 开始编号的.如果子串在字符串的开头处找到,则 index 返回 0 .如果一个字符后,则返回 1,依 次类推.如果子串不存在 ,则返回- 1.2. 可以使用可选的第三个参数要求它从后面的某个地方开始查询,它会告诉 index从什么位置开始3. rindex 反向查找,用法同上4.原创 2010-04-23 13:37:00 · 464 阅读 · 0 评论 -
Perl学习笔记 No.12
1. chdir改变工作目录...chdir "/etc" or die "cannot chdir to /etc:$!";如果参数为空,改变到主目录2. my @all_files = glob "*"; my @bz_file = glob "*.bz2"; 只对当前目录下3. my @all_files = ; my $dir = "/etc"; my原创 2010-04-23 10:57:00 · 418 阅读 · 0 评论 -
Perl学习笔记 No.6
1. 由于每一个 hash 都有一个私有的迭代器(iterator),因此,使用 each 的循环是可以嵌套的,因为不同的 hash有不同的迭代器(iterator).虽然这只是脚注,但我们也应当告诉你,你可以通过使用 keys 或 values函数,重置迭代器(iterator).如果新列表加入到此 hash 中,或者 each函数迭代到最后一个元素,也会重置迭代器(iterat原创 2010-04-21 13:58:00 · 495 阅读 · 0 评论 -
Perl学习笔记 No.5
1. >清空文件数据,重写;>>追加在文件末尾2. 最好在不使用一个文件句柄时就立刻将它关闭 ,无论程序是否立即结束3. $! 表示系统产生的一些可读的信息,如权限不够,文件不存在等;它所包含的信息,仅对系统请求失败时有效4. 作为一般规则(die语句),如果用法错误则在消息后面加上换行符;如果是其它错误,需要利用它来调试,则不要加上换行符5. war原创 2010-04-21 13:57:00 · 486 阅读 · 0 评论 -
Perl学习笔记 No.4
1. 子程序(入乡随俗?),调用的时候以&开头,以区别于$和@2. 子程序块中的标量,不做修饰,将是全局的,一个文件中多次调用该子程序,将能多次修改该标量3. 子程序中最后一步计算的表达式的值将会作为返回值...(真TM是个懒人)4. 子程序的参数列表居然是调用的时候才给出!!!保存在@_中5. 子程序中使用my语句创建私有变量,比如 sub max{ my($原创 2010-04-21 13:56:00 · 374 阅读 · 0 评论 -
Perl学习笔记 No.3
1. 一个给定的表达式在不同的上下文中 其含义是不同的2. 在标量context中,nums返回他的元素个数,在列表context中,返回他的元素3. print @nums;将不会用空格分隔各元素,除非print "@nums";4. print nums;会直接将其作为列表,而不是标量5. 如果一个标量表达式使用在列表context中,将会把标量转原创 2010-04-21 13:56:00 · 415 阅读 · 0 评论 -
Perl学习笔记 No.2
1. 数组名可以和标量名相同 //不怕自己昏头就用吧=.=2. 数组越界仅仅只是值为undef3. 下划线仅仅起将长数字划分的作用4. 数组最后一个元素的索引值为$#array5. 嗷~~支持负索引值! 比如,3个元素的数组,-1索引为第三个,-2为中间的,-3为第一个6. 负索引越界会产生严重错误..=.= fatal error!7.原创 2010-04-21 13:55:00 · 387 阅读 · 0 评论 -
在指定路径中查找指定字符串
如果用C++写一个在指定路径下所有文件中查找指定字符串的程序,需要多少代码呢?#!/usr/bin/perl -wuse strict;my $str= shift @ARGV;print "Searching for $str.../n";my $flag = 0;print @ARGV."/n";my @result;foreach my $filename (原创 2010-05-12 15:03:00 · 616 阅读 · 0 评论