将一些内容写入Perl文件的开头和结尾的最佳方法是什么
答案 0 :(得分:8)
这由FAQ
涵盖答案 1 :(得分:3)
追加是微不足道的:
open my $fh, '>>', 'some.file' or die "Cannot open file for append: $!\n";
print $fh $some_content;
close $fh;
另一方面,在开头(或中间)添加内容非常复杂。
一种方法:
use File::Temp qw/ tempfile /;
use File::Copy;
open my $in, '<', 'some.file' or die "Cannot open file for reading: $!\n";
my ($out, $temp_file_name) = tempfile();
print $out $some_content;
my $l;
print $out $l while defined( $l = <$in> );
close $in;
close $out;
move( $temp_file_name, 'some.file' );
答案 2 :(得分:1)
以下代码是我能想到的最简单的例子。
#!/usr/local/bin/perl
open (MYFILE, '>>data.txt');
print MYFILE "Bob\n";
close (MYFILE);
'&gt;&gt;'告诉open函数你想通过将字符放在它的末尾来编辑文件。
将此替换为'&gt;'改为替换内容。
要将内容放在文件的开头 - 我建议在文件中读取,手动将内容放在char数组的乞讨处,然后使用'&gt;'
写入文件答案 3 :(得分:0)
使用Tie :: File模块,尽管它可能不是最有效的方法,但它可以轻松完成。您可以像编辑perl数组一样编辑文件,因此要在开头添加一行,您将使用unshift()并在末尾添加一行,您可以使用push()。模块文档非常清楚如何使用它。
答案 4 :(得分:0)
您在寻找templating system吗?