Just traverse your entire set of tuples, keeping track of all values of feature and/or plan. Then traverse each feature, and each plan, and output either the value you stored, or a useful default. (If you have a truly vast number of features and/or plans, it might be worthwhile to do two passes so you don't have to keep all of them in memory at once, but that seems unlikely...)
my %features; my %plans; my %feat_plan_val; while ( my ( $feat_id, $feat_name, $plan_id, $plan_name, $val ) = $sth->fetchrow_array() ) { $features{$feat_id} = $feature_name; $plans{$plan_id} = $plan_name; $feat_plan_val{$feat_id}{$plan_id} = $val; } # later... my @plan_ids = sort keys %plans; print join( "\t", 'Features', @plans{@plan_ids} ), "\n"; foreach my $feat_id ( sort keys %features ) { my @vals = ( $features{$feat_id} ); foreach my $plan_id ( @plan_ids ) { my $val = $feat_plan_val{$feat_id}{$plan_id}; push @vals, ( defined $val ? $val : '-' ); } print join( "\t", @vals ), "\n"; }
In reply to Re: Creation Suggestion needed... please
by tkil
in thread Creation Suggestion needed... please
by ukndoit
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |