Bei place() kann man auch mit relativen Angaben arbeiten, dann ist es nicht ganz so "böse". Zum Beispiel zum Zentrieren eines Labels:
use Tk;
$top = new MainWindow;
$top->Listbox->pack(-side => "left") for 1..3;
$top->Label(-text => "Hello1", -bg => "red", -fg => "white"
)->place(-relx => 0.5, -rely => 0.5, -anchor => "c");
MainLoop;
Aber wenn man ernsthaften Code schreiben will, der *überall* laufen soll (verschiedene Betriebssysteme, verschiedene Fenstergrößen, verschiedene Zeichensatzgrößen), dann kommt man um pack/grid/form nicht herum.