Как в цикле foreach произвести сортировку по значению ключа, который состоит из двух хешей
while ($ref = $sth->fetchrow_arrayref) {
$tree{$$ref[1]}{'parent'}=$$ref[2];
$tree{$$ref[1]}{'text'}= $$ref[0];
}
надо обработать от меньших 'parent' до больших.
foreach $key (sort keys %tree) {
print $tree{$key}{'parent'}."\n";
}