如何在Perl中添加文件的开头或结尾?

时间:2009-07-03 10:57:29

标签: perl

将一些内容写入Perl文件的开头和结尾的最佳方法是什么

5 个答案:

答案 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吗?

相关问题