in reply to Testing <> for undefined

You don't want to test the diamond operator, you want to test whether any command line arguments were supplied:

if ( @ARGV == 0 ) { print "Something useful\n"; }

/J\