Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Perl (http://www.go4expert.com/forums/perl/)
-   -   I need to ADD to the BEGINNING of a data file (http://www.go4expert.com/forums/i-add-beginning-data-file-t27786/)

fredfletcher 14Feb2012 11:24

I need to ADD to the BEGINNING of a data file
 
Hello,

I have done my best in trying to find a way to be able to do the following in Perl.

I have a text file (data.txt) that I would like to add some info at the beginning of the file (prepend I believe, not append).

From what I have gathered, "append" adds to the "end" of a file. I need to add to the "beginning" of a file after a form submission.

Any help would be appreciated, thank you.

Here is what I have so far:
Code:

#!/usr/bin/perl -w

use CGI ':standard';

open WRITE, "<data.txt";

# 'name' is what is taken from my submission form
$name = param('name');

open(WRITE, ">>./data.txt");

print WRITE "$name\n";

close WRITE;

print "Content-type: text/html\n\n";
print "Success!";


pradeep 18Feb2012 14:50

Re: I need to ADD to the BEGINNING of a data file
 
There's no direct way of doing it, check this http://www.tek-tips.com/viewthread.cfm?qid=840900

TedH 11Apr2012 17:55

Re: I need to ADD to the BEGINNING of a data file
 
Try this:

Code:

use strict;
use warnings;
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
print "Content-type: text/html\n\n";
my $dbfile = "data.txt";
my $newline = "aaaaa";
open DBF, "<$dbfile";
flock(DBF, 2);
read DBF, my $data, 1000000;
close DBF;

open DBF, ">$dbfile"; flock(DBF, 2); 
 print DBF $newline, "\n" . $data;
close DBF;
exit(0:

For test, just change aaaaa to bbbbb etc.

Hope that helps


All times are GMT +5.5. The time now is 01:51.