in reply to appending to html at beginning
I know nothing about what you are telling (madlibs) nor I understand the web related part (it seems a very crude type of web interaction) but if you are trying to prepend some text to an already existing file.. no there is no an automatic way to do it, as far as i know.
You need a two steps work. Between different possibilities you can work with a temporary file: you open a tempfile, you write $new_lines to it then you open the existing original file for read and write it's lines to the temp one. Finally you swap files.
Or (if your existing file is not huge) you can avoid the tempfile overwriting the original (a security copy can be handy anyway; if something go bad you can loose everything!). Something like:
use strict; use warnings; my @new_lines = some_function; # something that retrieve new lines my $file_path = 'file_path.ext'; open my $orig_file, '<', $file_path or die "unable to open '$file_path +' for read!"; my @orig_lines = <$orig_file>; close $orig_file; #reopen it wiping the content open my $new_file, '>', $file_path or die "unable to open '$file_path' + for write!"; #print first new get lines and then old ones print $new_file $_ for @new_lines,@orig_lines;
L*
PS this it is discussed in Perl FAQs: append to the beginning of a file.
Also at SO brian_d_foy tells us a bit more detailed answer: prepend to a file.
See also rename to swap files and sysopen and it's constant if you want more granularity on opening only yet existing file.
HtH
L*
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: appending to html at beginning (updated)
by haukex (Archbishop) on Feb 03, 2017 at 08:34 UTC |