in reply to Persistent data storage

Take a look at Tie::File. That module allows for functionality such that you can treat the lines in a file the same as you would an array. No, it does not load the entire file into memory.

#!/usr/bin/perl -w ##################################################### use strict; use Tie::File; tie my @ry,"Tie::File","myfile.txt"; my @data=( [ 'apple',12.2,'red' ], [ 'bannana', 33.3,'yellow'], [ 'pineapple', 17.2,'green'] ); foreach my $dat(@data){ push @ry,join(",",@{$dat}); } untie @ry; tie @ry,"Tie::File","myfile.txt"; my $t= $ry[1]; $ry[1]=$ry[0]; $ry[0]=$t; untie @ry;
The code above gives you a file that has this for contents:
bannana,33.3,yellow apple,12.2,red pineapple,17.2,green

Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

Replies are listed 'Best First'.
Re^2: Persistent data storage
by ssinha (Novice) on Aug 17, 2012 at 06:20 UTC

    Thank you everyone for the help. I will try using Tie:File and see if that works.

      I am trying to use Tie:File but while running it is giving an error : Can't locate object method "TIEARRAY" via package "Tie:File" . I tried searching on the net but did not get any valid solutions. I have checked if Tie:File is installed and it is; so is Tie:Array. I do not know where i am going wrong. Kindly help.

        I figured out the solution to my previous problem but now the problem is that even after using Tie:File, all the lines are coming into the same index of the array i.e if the txt file has following lines: File1 File2 then even after tying @array to the file,@array contains just one entry for both the lines ie if i print $array[0],it gives File1 File2 together and not only File1 which is my expected output.