On May 27, 4:37 pm, [EMAIL PROTECTED] (Pauld) wrote:
> thanks for the help - im looking up hash slices -

perldoc perldata

     Entire arrays (and slices of arrays and hashes) are denoted
     by '@', which works much like the word "these" or "those"
     does in English, in that it indicates multiple values are
     expected.

         @days               # ($days[0], $days[1],... $days[n])
         @days[3,4,5]        # same as ($days[3],$days[4],$days[5])
         @days{'a','c'}      # same as ($days{'a'},$days{'c'})

> but id like to get
> something that works and then i can add new ideas etc so im going to
> leave it as it for the time being.
>
> Data::Dumper has helped sort out where  an error is coming
>
> #!/usr/bin/perl -w
> use strict;
> use warnings;
> open O, "<$file" or die "could not open $file - $!";
> undef $/;
> my $whole_file = <O>;
> close O;


> $whole_file=~s/\x0D\x0A1/\x0D\x0AABC1/g;my @rows=split(/\x0D\x0AABC/,
> $whole_file);
> ######splits in the correct place after looking at the CSV file with a
> hex editor - ugly but it seems to work ATM######

absolutely no idea what's making you think any of this is necessary.

> my %hash;
> my  @headings=split(/,/,$rows[0])
>  for (my $j=1;$j<=2;$j++)
> {
> my @columns = $csv->fields ();
>
> for (my $i=0;$i<=$#columns;$i++)  {$hash{$headings[$i]}=$columns[$i];}
>
> print Dumper(%hash);
> push (@{$Hofdates{$hash{OPDATE}}},\%hash);
> print Dumper (%Hofdates);
>
> }
>

<output snipped>

> so its  pushing the second hash onto the array  and overwriting the
> 1st

No kidding.  Did  you read my reply?  That's exactly what I said would
happen.  Declare your hash in the smallest scope possible - inside the
(first) for loop.  That way, when each iteration of the for loop
starts, you get a brand new hash rather than reusing the same one.

If you don't understand what that means - move the 'my %hash;' line
from where it is to just before the 'my @columns = $csv->fields ();'
line.

Paul Lalli


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to