$ perl -e '@ARGV ||= "."' Can't modify array dereference in logical or assignment (||=) at -e line 1, at EOF #### sub pp { map { my $new = lc $_; ($new eq $_ or -e $new) ? $_ : rename($_, $new) ? $new : $_; } @_; }