Hello Jeff,
Your solution is perfectly working. Thanks a lot!
BTW I've solved my as well. I had to put
}
$y++;
}
$y = $x; <- Here
$x++;
}
I agree my code looks ugly -)
Thanks,
Vladimir
----- Original Message -----
From: "Jeff Pang" <[EMAIL PROTECTED]>
To: "Vladimir Lemberg" <[EMAIL PROTECTED]>; <beginners@perl.org>
Sent: Thursday, March 22, 2007 7:16 PM
Subject: Re: list of lists
Hello,
I don't think the $x and $y are needed here since you're using Perl which
is flexible enough for creating dynamic array for you.
Here is my improvment version of your codes.
my @table;
foreach my $category (sort keys %categories){
my @tmp = ($category);
foreach my $zone (sort keys %na_zones){
open (F, "$cwd\\db\\$na_zones{$zone}\\cat.cfg") or die;
my @list = grep {/CODE:$poi_categories{$category}/} <F>;
close (F);
my $poi_num = @list ? &POI_Count(@list) : 0;
push @tmp,$poi_num;
}
push @table,[EMAIL PROTECTED];
}
(no test but I think it should most likely work.)
use strict;
use warnings;
use Win32;
use Cwd;
my @table;
my $x = 0;
my $y = 0;
foreach my $category (sort keys %categories){
$table[$x][$y] = [ $category ];
$y ++;
foreach my $zone (sort keys %na_zones){
my @list;
open (F, "$cwd\\db\\$na_zones{$zone}\\cat.cfg") or die;
@list = grep {/CODE:$poi_categories{$category}/} <F>;
close (F);
#skip empty category
if ([EMAIL PROTECTED]) {
$table[$x][$y] = [ 0 ];
}
else {
my $poi_num = &POI_Count (@list);
$table[$x][$y] = [ $poi_num ];
}
$y++;
}
$x++;
}
I have nothing when I print "$table[1][1]\n"; :-(((
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/