<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:10pt"><div><span>I'm guessing they did this as a safety feature; accepting a single container parameter could be bug-prone.  Many other perl functions have similar safeguards (I assume implemented via prototypes.)<br></span></div> <div class="qtdSeparateBR"><br><br></div><div style="display: block;" class="yahoo_quoted"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 10pt;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> On Monday, August 18, 2014 3:41 PM, Perl Developer via Houston <houston@pm.org> wrote:<br> </font> </div> <blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px;
 margin-top: 5px; padding-left: 5px;">  <br><br> <div class="y_msg_container">Michael,<br clear="none"><br clear="none">I see why you might consider this a bug, but I do not believe that it<br clear="none">is.  Further, I do not believe this is a prototype issue  Consider,<br clear="none"><br clear="none"><br clear="none">bash-4.2$  perl -MO=Terse -e 'my @files=("x", "y"); rename(@files);'<br clear="none">Not enough arguments for rename at -e line 1, near "@files)"<br clear="none">-e had compilation errors.<br clear="none">LISTOP (0x20b8128) leave [1]<br clear="none">    OP (0x20b7fc8) enter<br clear="none">    COP (0x20b8170) nextstate<br clear="none">    BINOP (0x20b81d0) aassign [2]<br clear="none">        UNOP (0x20b5430) null [147]<br clear="none">            OP (0x20b53f8) pushmark<br clear="none">            SVOP (0x20b54b8)
 const  PV (0x20b6188) "x"<br clear="none">            SVOP (0x20b5478) const  PV (0x20b60f8) "y"<br clear="none">        UNOP (0x20b53b0) null [147]<br clear="none">            OP (0x20b5360) padrange [1]<br clear="none">            OP (0x20b54f8) padav [1]<br clear="none">    COP (0x20b8010) nextstate<br clear="none">    LISTOP (0x20b80a8) rename [3]<br clear="none">        OP (0x20b8070) null [3]<br clear="none">        OP (0x20b80f0) padav [1]<br clear="none"><br clear="none">bash-4.2$  perl -MO=Terse -e 'my @files=("x", "y"); rename($files[0],<br clear="none">$files[1]);'<br clear="none">LISTOP (0x20b9138) leave [1]<br clear="none">    OP (0x20b8e90) enter<br clear="none">    COP (0x20b9180) nextstate<br clear="none">    BINOP (0x20b91e0)
 aassign [2]<br clear="none">        UNOP (0x20b6440) null [147]<br clear="none">            OP (0x20b6408) pushmark<br clear="none">            SVOP (0x20b64c8) const  PV (0x20b7198) "x"<br clear="none">            SVOP (0x20b6488) const  PV (0x20b7108) "y"<br clear="none">        UNOP (0x20b63c0) null [147]<br clear="none">            OP (0x20b6370) padrange [1]<br clear="none">            OP (0x20b6508) padav [1]<br clear="none">    COP (0x20b8ed8) nextstate<br clear="none">    LISTOP (0x20b8f70) rename [3]<br clear="none">        OP (0x20b8f38) null [3]<br clear="none">        UNOP (0x20b9078) null [130]<br clear="none">            OP (0x20b9100) aelemfast_lex
 [1]<br clear="none">            OP (0x20b90c0) null [5]<br clear="none">        UNOP (0x20b8fb8) null [130]<br clear="none">            OP (0x20b9040) aelemfast_lex [1]<br clear="none">            OP (0x20b9000) null [5]<br clear="none">-e syntax OK<br clear="none"><br clear="none">Or even:<br clear="none"><br clear="none">bash-4.2$  perl -MO=Terse -e 'my @files=("x", "y"); rename(@files,undef);'<br clear="none">LISTOP (0x93b138) leave [1]<br clear="none">    OP (0x93afa0) enter<br clear="none">    COP (0x93b180) nextstate<br clear="none">    BINOP (0x93b1e0) aassign [2]<br clear="none">        UNOP (0x938440) null [147]<br clear="none">            OP (0x938408) pushmark<br clear="none">            SVOP (0x9384c8) const  PV
 (0x939198) "x"<br clear="none">            SVOP (0x938488) const  PV (0x939108) "y"<br clear="none">        UNOP (0x9383c0) null [147]<br clear="none">            OP (0x938370) padrange [1]<br clear="none">            OP (0x938508) padav [1]<br clear="none">    COP (0x93afe8) nextstate<br clear="none">    LISTOP (0x93b080) rename [3]<br clear="none">        OP (0x93b048) null [3]<br clear="none">        OP (0x93b100) padav [1]<br clear="none">        OP (0x93b0c8) undef<br clear="none">-e syntax OK<br clear="none"><br clear="none">Perl sees @files as a container,  rename is looking for 2 arguments,<br clear="none">whatever they may be.<br clear="none"><br clear="none"><br clear="none">(I doubt my last example will do what you want it to do...)<br
 clear="none"><br clear="none">On Mon, Aug 18, 2014 at 4:03 PM, Michael R. Davis via Houston<br clear="none"><<a shape="rect" ymailto="mailto:houston@pm.org" href="mailto:houston@pm.org">houston@pm.org</a>> wrote:<br clear="none">> Perl Mongers,<br clear="none">> Is this a bug in rename?  I googled but did not find anything off the top.<br clear="none">><br clear="none">> $ perl -e 'my @files=("x", "y"); rename(@files);'<br clear="none">> Not enough arguments for rename at -e line 1, near "@files)"<br clear="none">> Execution of -e aborted due to compilation errors.<br clear="none">><br clear="none">> But this works fine.<br clear="none">><br clear="none">> $ perl -e 'my @files=("x", "y"); rename($files[0], $files[1]);'<br clear="none">><br clear="none">> Mike<br clear="none">><br clear="none">> mrdvt92<br clear="none">><br clear="none">> $ perl -v<br clear="none">> This is perl, v5.10.0 built
 for x86_64-linux-thread-multi<br clear="none">> Copyright 1987-2007, Larry Wall<br clear="none">><br clear="none">> _______________________________________________<br clear="none">> Houston mailing list<br clear="none">> <a shape="rect" ymailto="mailto:Houston@pm.org" href="mailto:Houston@pm.org">Houston@pm.org</a><br clear="none">> <a shape="rect" href="http://mail.pm.org/mailman/listinfo/houston" target="_blank">http://mail.pm.org/mailman/listinfo/houston</a><br clear="none">> Website: <a shape="rect" href="http://houston.pm.org/" target="_blank">http://houston.pm.org/</a><br clear="none"><br clear="none"><br clear="none"><br clear="none">-- <br clear="none">Best Regards,<br clear="none">[Joseph] Christian Werner Sr<br clear="none">C 360.920.7183<br clear="none">H 757.304.0502<div class="yqt6323955318" id="yqtfd59891"><br clear="none">_______________________________________________<br clear="none">Houston mailing list<br
 clear="none"><a shape="rect" ymailto="mailto:Houston@pm.org" href="mailto:Houston@pm.org">Houston@pm.org</a><br clear="none"><a shape="rect" href="http://mail.pm.org/mailman/listinfo/houston" target="_blank">http://mail.pm.org/mailman/listinfo/houston</a><br clear="none">Website: <a shape="rect" href="http://houston.pm.org/" target="_blank">http://houston.pm.org/</a><br clear="none"></div><br><br></div> </blockquote>  </div> </div>   </div> </div></body></html>