in reply to map question...

As djantzen said, the map is building a list whose elements are alternatingly the arguments from the command line and 1's.

What this appears to accomplish is that it allows you to pass strings such as 'FlattenTree' to the script and have them be interpreted correctly by rget().

For example, the invocation:

[johnsca@cory johnsca]$ rget FlattenTree SymlinkIgnore

Will in effect call rget() as:

$ftp->rget(FlattenTree => 1, SymlinkIgnore => 1);

Which is how Net::FTP::Recursive expects the options to be passed. See the docs for Net::FTP::Recursive for more info on available options.

bbfu
Black flowers blossom
Fearless on my breath