|The stupid question is the question not asked|
"... could it be that resizable acts different in my perl ..."
Seems unlikely; although, that question can best be answered when the versions of Perl and Tk that you're using are known.
resizable() has worked that way for all of the current millenium. Learning Perl/Tk documents the same behaviour for Perl 5.003 and Tk 400.202 — that book was published in 1999.
"... or did I misunderstood what it is supposed to do? ..."
Possibly; although, that question can best be answered when your understanding of what it's supposed to do is known.
Do you understand that the two arguments to resizable($x, $y) are boolean values? [$x indicating whether the width can be changed; $y indicating whether the height can be changed]
Do you also understand that resizable() refers to interactive resizing (e.g. dragging the window border with the mouse) and that it does not refer to programmatic resizing (e.g. in your example code, -width will affect the size of the window)?
Two final thoughts on this: see Tk::Wm - BUGS and how to work around them; and try calling resizable() as the last thing after all widgets are created and pack()ed (i.e. immediately before MainLoop is called).