Subject: Simplification of the code
Date sent: Tue, 22 May 2007 19:04:01 +0530
From: "Nath, Alok (STSD)" <[EMAIL PROTECTED]>
To: <[email protected]>
> Hi,
> Can anybody help me to simplify the for loops here ?
> It parses the excel file.
>
>
> foreach my $col (1..10){
> push @row_1, $Sheet->Cells(1, $col)->{'Value'} ;
> }
> my @node_names = th([EMAIL PROTECTED]);
Why the @row_1 variable?
my @node_names;
foreach my $col (1..10){
push @node_names, $Sheet->Cells(1, $col)->{'Value'} ;
}
@node_names = th(\node_names);
or even better
my @node_names = th [map { $Sheet->Cells(1, $_)->{'Value'} }
(1..10)];
> foreach my $col (1..10){
> push @row_2, $Sheet->Cells(2, $col)->{'Value'} ;
> }
> my @workstations = td([EMAIL PROTECTED]);
>
>
> foreach my $col (1..10){
> push @row_3, $Sheet->Cells(3, $col)->{'Value'} ;
> }
> my @cards = td([EMAIL PROTECTED]);
The different functions make it a bit harder, but you could merge
those loops into this:
my @rows = map {
my $row = $_;
[ map { $Sheet->Cells( $row, $_)->{'Value'} } (1..10) ]
} (1..3);
to get the data and then
> I am using the above for loops to create a table -finally.
>
>
> print table({-border=>undef,-width=>'100%'},
> caption(b('My table')),
> Tr([EMAIL PROTECTED]),
> Tr([EMAIL PROTECTED]),
> Tr([EMAIL PROTECTED]),
> }
print table({-border=>undef,-width=>'100%'},
caption(b('My table')),
Tr([ th $rows[0]]),
Tr([ td $rows[1]]),
Tr([ td $rows[2]]),
}
HTH, Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/