use strict;
use warnings;
my @newarray;
my ($xnumvar,$xvar,$ynumvar,$yvar,@maxlength);
my @newmatrix=(["123.45","JOHN DOE","Coal Miner"],
["12.45","MR. PEANUT","peanut"],
["4.1","Bill Clinton","unknown"]);
# iterate through each element and gather maximum character length for each
column
# The overall purpose of this is to take a given matrix and line
# up the print output based on the maximum character length of each column +
2
[EMAIL PROTECTED];
for ($xvar=0; $xvar < $xnumvar; $xvar++) {
[EMAIL PROTECTED];
for ($yvar=0; $yvar < $ynumvar; $yvar++) {
if (length($newmatrix[$yvar]) > $maxlength[$yvar] ) {
$maxlength[$yvar]=length($newmatrix[$yvar])
}
}
}
my $curline=0;
my $cols;
foreach my $arrayline (@newmatrix) {
my [EMAIL PROTECTED];
for (my $cols=0; $cols < $coltotal ; $cols++) {
# this line hung the compiler up on win, I'm not understanding how I can
build a dynamic parameter
# string and pass as a parameter within the function call.
#$newmatrix[$curline][$cols]=sprintf("%-" . $maxlength[$cols]+2 .
"s%",$newmatrix[$curline][$cols]);
$curline=$curline+1;
}
}
# need to simply print the matrix here, but dont know how to efficiently
print a entire matrix
print @newmatrix;
TIA to those who have some spare time to explain.
_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs