I just tried it (with gnome-terminal and xterm), putting a simple "sleep 2" in myscript.pl, and the terminals popped up sequentially, staying there for 2 seconds (which is what I would have expected, as you're not doing anything to explicitly run things in the background...).
Could you elaborate on what exactly is happening in your case? Does the script actually execute? How do you run the commands within myscript.pl? Any errors?
BTW, you probably meant to increment $k within your while loop... Or simply use for (1..3) {...}