我正在使用需要在脚本中操作的 xml 文件。我对此的第一种方法是:
qx(perl export_xml.pl $export_params > $path$prefix\investment.xml); # Create the xml-file
open DERI, '+<'.$path.$prefix.'investment.xml' or die 'Can\'t open investment.xml: '.$!;
my @derivative_xml = <DERI>;
seek(DERI, 0, 0);
foreach (@derivative_xml) {
$_ =~ s/^\s*$//g;
$_ =~ s/^.*detected on Server.*$//g;
$_ = encode('utf8', $_);
}
print DERI join('', @derivative_xml);
这用于测试目的,但不幸的是,真实文件太大(最多 6GB)。
有没有办法逐行读取文件,然后通过文件句柄修改输入?就像是
foreach (<DERI>) { #@derivative_xml) {
$_ =~ s/^\s*$//g;
$_ =~ s/^.*detected on Server.*$//g;
$_ = encode('utf8', $_);
}
我无法在不荒谬的时间内真正测试它,所以如果我不必在这里反复试验,那就太好了。
提前致谢!