in reply to writing to a file

You can use Tie::File to treat the file like an array, then use unshift to add to the beginning of the array
use Tie::File; my $file = 'filename'; my @tiedfile; my $new_content = "foo"; ## Whatever you want to prepend to the file tie(@tiedfile, 'Tie::File', $file); unshift(@tiedfile, $new_content); untie(@tiedfile);
If you need to add more than one line, you can get your new content into an array and loop through it:
foreach my $line (reverse(@new_content)) { unshift(@tiedfile, $line); }