open (EXfile,">>$outfile");
在打开时创建一个空文件,我想避免这种情况.我希望只有在第一次将一行写入文件句柄时才会创建该文件:
print EXfile $line
如果没有任何内容写入文件句柄,则不应创建该文件…
可能吗 ?怎么样 ?
解决方法 创建一个为您开放的子项.sub myappend { my ($fname,@args) = @_; open my $fh,'>>',$fname or dIE $!; print $fh @args; close $fh or dIE $!;}myappend($outfile,$line);
或者,不是打印,而是按下阵列并等到最后打印.
while ( ... ) { push @print,$line;}if (@print) { open my $fh,$outfile or dIE $!; print $fh @print;}
或者,对于多个文件
while ( ... ) { push @{$print{$outfile}},$line;}for my $key (%print) { open my $fh,$key or dIE $!; print $fh @{$print{$key}};}总结
以上是内存溢出为你收集整理的perl – 如何在实际写入文本行之前延迟创建文本文件? (懒惰创作)全部内容,希望文章能够帮你解决perl – 如何在实际写入文本行之前延迟创建文本文件? (懒惰创作)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)