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

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

Replies are listed 'Best First'.
Re^10: getting error while writing to a table
by poj (Abbot) on Jul 03, 2013 at 14:35 UTC

    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