http://www.perlmonks.org?node_id=565875


in reply to printing out a matrix for a data list

Very basic hack:
use strict; use warnings; my ($delim, $row, $col, $val, %matrix, %cols, @rows, @cols) = ' '; while (<DATA>) { chomp; ($row, $col, $val) = split /, /, $_; $matrix{$row}{$col} = $val; $cols{$col} = (); } @cols = sort keys %cols; @rows = sort keys %matrix; print join $delim, ' ', @cols; for $row (@rows) { print "\n", $row; for $col (@cols) { print $delim, $matrix{$row}{$col} ? sprintf('%3d', $matrix{$ro +w}{$col}) : ' -'; } } __DATA__ ob1, ob2, 34 ob1, ob3, 56 ob1, ob4, 12 ob1, ob5, 78 ob1, ob6, 23 ob3, ob1, 56 ob7, ob1, 23 ob8, ob1, 12 ob9, ob1, 90

Replies are listed 'Best First'.
Re^2: printing out a matrix for a data list
by Angharad (Pilgrim) on Aug 07, 2006 at 09:19 UTC
    Thank you. Your help is much appreciated :)