Perl 文件操作

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

#!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");

评论