* H.Merijn Brand <h.m.brand@xs4all.nl> [2008-05-29 13:00]: > using a semi-colon > $ perl -wle'my@a=map{;"--$_"=>$_}@ARGV;print"(@a)"' foo bar > (--foo foo --bar bar) > > using parens > $ perl -wle'my@a=map{("--$_"=>$_)}@ARGV;print"(@a)"' foo bar > (--foo foo --bar bar) > > using a unary + > $ perl -wle'my@a=map{+"--$_"=>$_}@ARGV;print"(@a)"' foo bar > (--foo foo --bar bar) > > using catenation > $ perl -wle'my@a=map{"--".$_=>$_}@ARGV;print"(@a)"' foo bar > (--foo foo --bar bar) > > I personally think that using parens here to disambuigate is > the most verbose option without adding unexplainable line noise Which in my mind makes it the least desirable, since that makes it “obviously” superfluous and therefore the most likely to be removed by some overeager maintainer. The semicolon, OTOH, is so unusual that it is much more obviously intentional, even if the maintainer who discovers it doesn’t know what it’s there for. It probably won’t prevent them from removing it, but I would expect that after the code breaks they will conclude that the semicolon was put there purposely to prevent that error. With parens, in contrast, it seems more likely to me that the maintainer will think the code worked just by accident because the previous programmer wrote it in a peculiar style with no particular intent. Regards, -- Aristotle Pagaltzis // <http://plasmasturm.org/>Thread Previous | Thread Next