>>> while (read OLDFILE, $buff, 8*1024);
A quick qn. :) Y is 8*1024 being mentioned here? Are you just word-aligning or something else? regards -Ajey On Fri, 29 Oct 2004, Jenda Krynicky wrote: > From: [EMAIL PROTECTED] > > This is the way I would do it, however my code has been subject to > > criticism more that once in the past :) > > > > open (FILE, "<myfile.dat") or die; > > @file = <FILE>; > > close (FILE); > > $new_data = "This is my new line that I am going to put at the top\n"; > > unshift (@file, $new_data); open (FILE, ">myfile.dat") or die; print > > FILE @file; close (FILE); > > :-) > > This is definitely a workable solution, there are just a few things > to keep in mind. > > 1)This would mean that the whole file is read into the memory. > 2)This would force Perl to search for end-of-lines and create an > array. > 3) You open the file in text mode in both cases. This may change the > type of newlines in the file! > > So it's fine for small files, but not so great for bigger ones. > > If you want something more efficient you might try something like > this: > > open NEWFILE, '>', 'myfile.dat.tmp' > or die "Can't create myfile.dat.tmp: $^E\n"; > print NEWFILE "the new stuff to put on top\n"; > ... > > open OLDFILE, '<', 'myfile.dat' > or die "Can't open the original file myfile.dat: $^E\n"; > binmode(OLDFILE); > binmode(NEWFILE); > my $buff; > print NEWFILE $buff > while (read OLDFILE, $buff, 8*1024); > close NEWFILE; > close OLDFILE; > rename 'myfile.dat.tmp' => 'myfile.dat'; > > Jenda > ===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz ===== > When it comes to wine, women and song, wizards are allowed > to get drunk and croon as much as they like. > -- Terry Pratchett in Sourcery > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > <http://learn.perl.org/> <http://learn.perl.org/first-response> > > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>