作者Andor (柠檬汁)
站内perl
标题Re: [问题] 如何修改一个资料夹中的所有档案?
时间Sat May 5 21:41:11 2007
※ 引述《imce (蜥蜴)》之铭言:
: ※ 引述《CrowOnTorii (乌鸦)》之铭言:
: : 档案形式如下:125,160
: : ...
: : xmax_288 xmin_7
: : ymax_170 ymin_7
: : 现在我想要把每个档案的最後两列都砍掉然後存回原档案
: : 也就是把xmax,ymax这两列砍掉
: opendir(DIR,"."); #
: @DIR=readdir(DIR); #把.资料夹底下的档案读入@DIR
: close(DIR); #
: foreach(@DIR)
: {
: next if ($_ =~ /^\./); #略过.和..两个
: open(FILE,"$_");@temp=<FILE>;close(FILE); #档案读入@temp
: pop(@temp);pop(@temp); #把後面两行去掉
: open(FILE,">$_");print FILE join("",@temp);close(FILE); #档案写回去
: }
: #应该是这样吧
use Tie::File;
foreach (<*>) {
tie my @text, 'Tie::File', $_;
$#text -= 2;
untie @text;
}
为防误砍不该砍的行,可将蓝色部分改为:
-- $#text while ($text[-1] =~ /^[xy]max/);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 143.89.144.107