Interference with GetOpt* is a good point... Obviously, the only way such a collision could occur is if there were a directory named "--whatever" or "-w", etc. But it's still the sort of thing that shouldn't be allowed to interfere.
More reason, I think, to go with the -MR-type notation... as that would give more control (over when and where) to someone who was writing a script, or other module, but wanted to incorporate the @ARGV-recursion of this module.
Of course, another route would be to make it all under something like RecursiveARGV.pm, and provide a stub r.pm that was just:
Making perl -mr
exactly the same as perl -MRecursiveARGV
, but allowing people to do more fun stuff in their scripts like:
# cleans @ARGV of any switches here,
# leaving only files
# now @ARGV becomes directory-magic
Update: I changed midstream between referring to a more full-fledged module as R.pm and RecursiveARGV.pm... and things got a little tangled up.
Not an editor command: Wq