If the file didn't get created then it is probably being created somewhere else. Put a
Into your program to see where it thinks the current directory is, then look there for menu.txtuse Cwd; print cwd();
Secondly - check the version of perl between your local machine and the remote machine.
Will tell you, or if you don't have shell access just run that from a system command.perl -V
If it is < perl 5.6 then use diagnostics won't work which is a possibly explanation.