use File::Spec;

#G:\perl\flw\data_flw.txt;

#$doc=File::Spec->catfile("G:\\perl\\flw","detail.dat");


$doc=detail.dat;

print $doc;

$ARGV[0] = qw/detail.dat/;  #这里保存要修改的文件,与脚本放在同一个目录下

$^I=".bak";  #:$^I的值可以决定是要重写文件,还是备份文件,若要重写,只须将其值设为空就可,若要备份,则$^I=".bak", 他就会把改过的文件命名为filename.bak了

while(<>)

{

 s/\|/,/g; #分隔符转换成

 s/\t//g;  #去掉每个字段中的多余制表符

 print;

}


1:功能烂  $^I必须生成.bak文件才能进行修改,无法直接写文件

2:$ARGV[0] = "detail.dat" 致使数据文件必须和perl在同一个目录里,无法直接修改其他目录文件。

。。。。