in reply to Shouldn't this sort be simple?

Not elegant, but you get the idea...
##SELECT DATA FROM DATABASE AND FILL IT INTO A HASH $sth = $dbh->prepare("SELECT * FROM $table_POSTS WHERE Thread = '$Sent +Thread'"); $sth->execute(); $sth->bind_columns(\$THREADd, \$POSTd, \$FORUMd, \$USERNAMEd, \$CREATE +Dd, \$REPLIEDd, \$TITLEd,\$DRIFTd, \$LINKd, \$JPEGd, \$COMMENTSd, \$I +Pd, \$REMd, \$OFFENSIVEd ); while($sth->fetch()) { $view{$POSTd} = { 'thread' => $THREADd, 'post' => $POSTd, 'forum' => $FORUMd, 'username' => $USERNAMEd, 'created' => $CREATEDd, 'replied' => $REPLIEDd, 'title' => $TITLEd, 'drift' => $DRIFTd, 'link' => $LINKd, 'jpeg' => $JPEGd, 'comments' => $COMMENTSd, 'ip' => $IPd, 'rem' => $REMd, 'offensive' => $OFFENSIVEd }; my @array1; my @array2; ###PRINT THE POST NUMBERS ASCENDING foreach $view2 ( sort keys %view ) { #$POST = $view{$view2}->{'post'}; push @array1, $view{$view2}->{'post'}; unshift @array2, $view{$view2}->{'post'}; #print "$POST<br>"; } foreach my $value (@array1){ print "$value<br>"; } foreach my $value (@array2){ print "$value<br>"; }