in reply to Re^6: getting error while writing to a table
in thread getting error while writing to a table

Right before foreach my $k (keys %input) {

Then do the same for @data right before for my $i ( 0 .. $#data ) {

  • Comment on Re^7: getting error while writing to a table

Replies are listed 'Best First'.
Re^8: getting error while writing to a table
by learner@perl (Novice) on Jul 03, 2013 at 10:58 UTC
    Hi,
    my @values; my $table; foreach my $k (sort {$b <=> $a} keys %input) { foreach (@{$input{$k}}) { chomp(); push( @{@data[$.]},( split /[,\n]/, $_)); } } print "After\n"; print Dumper(\%data); for my $i ( 0 .. $#data ) { $body .= "<tr>"; for ( @{@data[$i]}){ $body .= "<td>$_</td>\r\n"; } $body .= "</tr>"; } $body .= "</table>";

    I am getting Global symbol "%values" requires explicit package

      Hi,

      Before

      $VAR1 = '12'; $VAR2 = [ '01-01-1989,ABC,12,12000,300000,Finanance,BC' 'January,60000' ]; $VAR3 = '13'; $VAR4 = [ '01-01-1988,BCH,13,15000,400000,Manfacturing,CB' 'Feburary,400000' ]; Can't use an undefined value as an ARRAY reference at

        Try this, it might be what you are trying to achieve

        #!perl use strict; use warnings; use Data::Dumper; my %input; $input{12}[0] = "01-01-1989,ABC,12,12000,300000,Finanance,BC"; $input{12}[1] = "January,60000"; my @values; my $table; ## add a table row counter my $row=0; ## define the data array my @data=(); foreach my $k (sort {$b <=> $a} keys %input) { foreach (@{$input{$k}}) { chomp(); ##change this to use $row ##push( @{@data[$.]},( split /[,\n]/, $_)); push( @{$data[$row]},( split /[,\n]/, $_)); } # increment row for each key ++$row; } print "After\n"; print Dumper(\@data); ## add my $body = "<table>"; for my $i ( 0 .. $#data ) { $body .= "<tr>"; ## change this slightly ##for ( @{@data[$i]}){ for ( @{$data[$i]}){ $body .= "<td>$_</td>\r\n"; } $body .= "</tr>"; } $body .= "</table>"; ## result print $body;
        poj