On Thu, 2002-02-14 at 10:19, Martin A. Hansen wrote:
> 
> hi
> 
> i have inherited this piece of code and i have been wondering hard about how i can 
>print the different @records returned from the subroutine? im not even sure whats on 
>my hand here. is this a hash of arrays or a hash of array references? and how do i 
>unwind those?
> 
> 
> 
> martin, beginning perl.
> 
> 
> 
> 
> my @records = &parse_pubmed_fcgi( [ qw(UI AU TI TA VI IP PG DA) ] );
> 
> 
> ###################### subroutines ####################
> 
> 
> sub parse_pubmed_fcgi {
> 
>   my ( $keys ) = @_;
> 
>   my ( @records, $record, $record_id, $line, $key );
> 
>   my %wants = map { $_ => 1 } @{ $keys };
> 
>   while ( defined ($line = <>) ) {
>     chop $line;
> 
>     if ( $line =~ /^(UI)\s*-/ ) {
>       $key = $1;
> 
>       if ( $record ) {
>         push @records, $record;
>       undef $record;
>       }
>     }
> 
>     if ( $line =~ /^([A-Z]+)\s*-\s*(.+)/ ) {
>       $key = $1;
>       push @{ $record->{ $key } }, $2 if $wants{ $key };
>     }
>       elsif ( $line =~ /^\s+(\S.*)/ ) {
>         $record->{ $key }->[-1] .= " $1" if $wants{ $key };
>       }
>     }
> 
>   push @records, $record if $record;
> 
>   if ( wantarray ) {
>     return @records;
>   } else {
>   return \@records;
>   }
> 
> }
> 

Data::Dumper is your friend.  If you have a data structure and you don't
know what is in it just say:

print Dumper(\@Records);

and bingo the data structure is printed out to the screen.

-- 
Today is Setting Orange the 45th day of Chaos in the YOLD 3168
Kallisti!

Missle Address: 33:48:3.521N  84:23:34.786W


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to