Die Werte sollen also immer in einem bestimmten Abstand zum linken Rand, d.h. übereinander stehen. Ich bin also so vorgegangen:
print Database "\n$sorted_field:\t\t$holder";
Brauchst Du unbedingt Tabulatoren, oder tun es Leerzeichen auch?
Wenn letzteres, dann: sprintf() nehmen und die Strings entsprechend formatieren. Du mußt Dir halt überlegen, wie lang diese Spalten sind; wenn Du Deine Daten komplett im Speicher hast, kannst Du vor dem Ausdrucken "mal schnell" drübersuchen und Dir die Länge des längsten Wertes merken.