in reply to File::Find, chmod and warnings

As an aside just this warning. It seems to me like you want to read file modes from the command line. Be aware that these are strings, and that conversion of string to octal is not done automatically in a DMIMmy manner, in Perl. In English: if your parameter is "0755" and you treat this as a number, as with chmod, then perl will convert this to 755 (decimal). Ouch.

You could use something like

$mode= oct($mode) if /^0/;
which can take care of octal ("0755"), hexadecimal ("0x1ED") and binary ("0b111101101") input, as well as decimal ("493"). But this doesn't give you the full user-friendliness of the command line tool chmod, which can parse letters combinations along with "+" and "-".

There's basically two solutions, IMO: either you adopt some code, or a module, that deals with these modes (I'd think of one of tye's brainchildren, I forgot the exact name, but it's a node here), or you call the external program chmod with the passed on data. Not that I'd recommend the latter. Not without proper taint checking. (Is the argument really just an argument?)