Help for this page
%deps = ( 1 => { 2 => undef, 3 => undef }, ... 3 => { 1 => undef, 4 => undef }, 5 => { 2 => undef, 3 => undef }, );
my %deps; while(<STDIN>){ ... # or another way: %{$deps{$task}} = map { $_ => undef } @cols; }