First of all, I'd like open and opendir to have returned an open handle, or undef on failure, instead of changing a passed argument on the side. But Joost already mentioned that.
in reply to Perl oddities
And second, I find it not just odd but also extremely annoying how the -X operators ignore parens as a hint for parsing precedence. Take this example:
print -M($0) + 1;
Argument "test.pl" isn't numeric in addition (+) at test.pl line 2.
Use of uninitialized value in print at test.pl line 2.
Perl treats this the same as
print -M ($0 + 1);
Not exactly what I had in mind. You have to wrap the parens around both operator and argument, to make it behave like I want. Just like Applescript.
print +(-M $0)+1;