I noticed in your data there is no
object2,object1 value in contradiction with your output sample, but with that in mind I'd elect to assume that not all cells in the table will necessarily be defined, and so you may need to inspect all the data to discover all the possible column names.
use strict;
use warnings;
my %table;
my %rows;
my %cols;
for(<DATA>) {
my($row,$col,$val) = split ' ';
$table{$row}{$col} = $val;
$rows{$row}++;
$cols{$col}++;
}
for my $col (sort keys %cols) {
print "\t$col";
}
print "\n";
for my $row (sort keys %rows) {
print "$row\t";
for my $col (sort keys %cols) {
print $table{$row}{$col} if defined $table{$row}{$col};
print "\t";
}
print "\n";
}
__DATA__
object1 object1 78
object1 object2 45
object1 object3 34
object1 object4 45
object2 object2 89
object2 object3 32
object2 object4 13
--
I'd like to be able to assign to an luser