in reply to search and replace last line

If this file can get large, you may get some benefit out of not rewriting the whole file.
#!/usr/bin/perl my $file=shift(@ARGV); open(FILE,"+<$file") or die; while (<FILE>) { if (eof(FILE)) { seek(FILE,-(length($_)),2) or die("$!\n"); print FILE "replacement string\n"; last; } } close FILE;
Note that you don't really have to read the whole file either. You could seek() to the end and then back up looking for a newline. Or, if each line is the same length ( it appears that they may be...), you can just go the end and back up X bytes.