It works for me without pressing return twice. This is under Fedora 9 Linux:
in reply to Sending problem in UDP
$ perl -w rdt.pl 10.1.2.3 12345 abc
Name "main::proto" used only once: possible typo at rdt.pl line 15.
In a separate session:
Capturing on eth0
0.000000 nnn.nnn.nnn.nnn -> 10.1.2.3 UDP Source port: 51531 Des
+tination port: 12345
Update: if the problem is somewhere in your Perl script, you could single step through your code in the perl debugger to find where it's hanging. On the other hand, I would suspect that you might be running it from a script that waits for a line of input from the user, for example with the bash read command.