Here&#39;s some free code to chew on. The thing to takeaway is that serializing moderate amounts of data in Perl just require Data::Dumper and the do() function. There&#39;s a lot of other stuff going on as well. E.g. the current run() method will overwrite the data with what&#39;s in the __DATA__ section every time. It would probably be more useful to have it pull in and build off what&#39;s already in your data file.<br>
<br># In a file called DataStuff.pm<br># perl DataStuff.pm to run<br>package DataStuff;<br>use strict;<br>use warnings;<br>use Data::Dumper;<br><br>__PACKAGE__-&gt;run if not caller;<br><br>sub run {<br>    my( $class ) = @_;<br>
    my( $dump ) = do { local $/; &lt;DATA&gt;; };<br>    my $data1 = eval $dump or die $@;<br>    $data1-&gt;{bum} = 42;<br>    push @{ $data1-&gt;{aref} }, 11;<br>    $class-&gt;save_data( &#39;<a href="http://foo.pl">foo.pl</a>&#39;, $data1 );<br>
    my $data2 = $class-&gt;get_data( &#39;<a href="http://foo.pl">foo.pl</a>&#39; );<br>    print Dumper( $data2 );<br>}<br><br>sub save_data {<br>    my( $class, $file_name, $data ) = @_;<br>    local $Data::Dumper::Terse = 1;<br>
    open my $DATA, &#39;&gt;&#39;, $file_name or die &quot;$0 ERROR: write $file_name - $!&quot;;<br>    print $DATA Dumper( $data );<br>}<br><br>sub get_data {<br>    my( $class, $file_name ) = @_;<br>    return do $file_name;<br>
}<br><br>1;<br><br>__DATA__<br><br>{<br>    foo =&gt; 1,<br>    bar =&gt; &quot;baz&quot;,<br>    aref =&gt; [ 1 .. 10 ],<br>};<br><br><br><div class="gmail_quote">On Tue, Sep 7, 2010 at 10:17 AM, thomas lems <span dir="ltr">&lt;<a href="mailto:tmlems2000@yahoo.com" target="_blank">tmlems2000@yahoo.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Good morning All,<br>
I’m new to Perl, and i used  Perl to create a table with five columns and 30 rows.  I was able to save the output to a text file, but I’m struggling on how to keep the data in the text file cause every time I run the script I lose the previous data.<br>


I believe the issue it’s in the Sub Save Data procedure.<br>
Here is my Sub SaveData procedure:<br>
sub SaveData {<br>
  my ($file_name,$data,$rows,$cols) = @_;<br>
<br>
  open(DATA,&quot;&gt;$file_name&quot;) or die &quot;$0 ERROR: write $file_name - $!&quot;;<br>
  for (my $i=0;$i&lt;$rows;$i++)<br>
  {<br>
    for (my $j=0;$j&lt;$cols;$j++)<br>
    {<br>
      printf DATA (&quot;&lt;%s&gt; &quot;,$data-&gt;{&quot;$i,$j&quot;});<br>
    }<br>
    print DATA &quot;\n&quot;;<br>
  }<br>
  close DATA;<br>
  exit;<br>
}<br>
Please help!<br>
Thanks<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Buffalo Perl Mongers Homepage<br>
<a href="http://buffalo.pm.org" target="_blank">http://buffalo.pm.org</a><br>
<br>
Buffalo-pm mailing list<br>
<a href="mailto:Buffalo-pm@pm.org" target="_blank">Buffalo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/buffalo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/buffalo-pm</a></blockquote></div><br>