perl 语法的变态在下面的代码中体现更甚,一条没头没尾的正则,不知道的还以为是语法错误,实际它是可以正常执行的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!perl

my $sFile = "d:/code/FindWord.pl";

# < 代表读,>代表截断写,>>追加写
if (open(READFILE, "<$sFile")) {
while (<READFILE>) {
s/^\s*//; # 正则这样写就行了,不用指明对谁作用
print "$_"; # 内置变量,上面正则相当于对这个内置变量操作
}
close(READFILE);
}

# get 读一个字符

while ($get = getc READFILE) {
print $get;
}

# 追加写文件
if (open WRITEFILE, ">>$sFile") {
print WRITEFILE ("New Line...\n");
close(WRITEFILE);
}


# 拷贝文件
open SRC, "<C:/test.pl";
open DST, ">C:/test.bak.pl";

while (<SRC>) {
print DST $_;
}

close(DST);
close(SRC);


# 重命名文件
rename ("C:/test.bak.pl", "C:/test.bak.pl.rename");

# 删除已存在的文件
unlink ("C:/test.bak.pl.rename");

# 设置文件指针
open SRC, "<C:/test.pl";
print ("Before:" . (tell SRC) . "\n");
for (my $idx = 0; $idx < 10; $idx++) {
seek SRC, 256, 0;
}
print ("After:" . (tell SRC) . "\n");