sub set_line {
my ($file_name, $line_no, $value) = @_;
my ($content);
open(FILE, "< $file_name") || return 0;

for(0 .. $line_no - 1) { $content .= <FILE>; }
$content .= $value . "\n";
<FILE>;
while(<FILE>) { $content .= $_; }

close(FILE);

open(FILE, "> $file_name") || return 0;
print FILE $content;
close(FILE);

return 1;
}

Perlでテキストファイルを読み込んで、指定した行の内容を書き換えたいのですが、こんな感じでいいのでしょうか?
もっと綺麗な書き方があったら教えて下さい。