Board logo

标题: [转载教程] Perl脚本学习笔记 [打印本页]

作者: find    时间: 2012-1-6 15:28     标题: Perl脚本学习笔记

下面主要是在学习过程中的一些常见的问题。记录下,方便大家学习。

1. chomp无参数时,使用默认参数,将对$_操作。

2. 数组@array..可用$array[number]引用。$#array..表示数组中索引数。

3. $!包含出错信息;

4. 默认打开文件句柄的方式是“<”即输入,“>>”和“>”区别就在于一个添加方式操作文件的。
if(@ARGV < 2){
die “Not enough arguments\n”;
}

5. select LOG;改变默认句柄;在接下来的输出时不需要输入句柄参数;
print LOG "Hello world!\n";

6. 重新打开一个句柄会关闭之前的文件句柄;

7. my @k = keys %hash; my@v = values %hash返回键值或者变量值;
hask中exists函数判断时候存在某个key,delete函数删除key和value;

8. "."是元字符的通配符。星号("*")是匹配前一项0次或者多次(简单量词),"+"是指一个或者多个,"?"是表示出现不出现一次。

9. "/i"大小写无关;"/s"匹配任何符号;"/x"添加空格;结合用"/is";

10."m//"其实代表的就是一般的模式匹配"/ /"也可以使用m(),m{},m<>..类似"qw//"。

11.词界锚定,\b,是针对单词使用的。如/\bfred\b/可以匹配上单词fred.

12.$1, $2 这样的名字同模式中括号对数中匹配的项目;

13.三个特殊变量($`, $&, $')来指出是在什么地方匹配上的,分别为左中右。

14."/s"如果不加"/g"只能执行一次;

15.unless和if相反使用,同时可以紧接在控制修饰语后形成一条语句,elsif不是elseif,少了一个e;

16.last和next对应别的语言的break和continue;redo不进行条件表达式的下一个循环即直接跳转到循环内容的顶部。

17.unlink "file";rename "old","new";link "file";mkdir "file", oct("permission");rmdir "file";chmod 0755, “fred”, “barney”;chown $user, $group, glob “*.o”;utime $now, $ago, glob “*”;

18.index..$where = index($big, $small);开头处找到,则index 返回0。如果一个字符后,则返回1,依次类推。如果子串不存在,则返回-1;rindex...

19.$part = substr($string, $initial_position, $length);

20.my $money = sprintf “%.2f”, 2.49997;

21.system "date";

22.my(undef, $card_num, undef, undef, undef, $count) = split /:/;




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2