On Apr 12, Ilmari Karonen said:

>On Tue, 9 Apr 2002 [EMAIL PROTECTED] wrote:
>> On Tue, Apr 09, 2002 at 01:49:01PM +0300, Ilmari Karonen wrote:
>> > On Fri, 5 Apr 2002 [EMAIL PROTECTED] wrote:
>> > > 
>> > >     sub shuffle {
>> > >         for (my  $i = @_;  $i;) {
>> > >              my  $j = rand $i --;
>> > >              @_ [$i => $j] = @_ [$j => $i]
>> > >         }
>> > >         @_;
>> > >     }
>> > 
>> > It doesn't, unfortunately, allow for the idiom one expects from a
>> > copy-and-shuffle function, namely
>> > 
>> >   my @shuffled = shuffle @original;
>> 
>> It allows for:
>> 
>>     my @shuffled = shuffle 1 .. 10;
>
>Not very consistently, though:
>
>  my @shuffled = shuffle 'A',2,3,4,5,6,7,8,9,10,'J','Q','K';
>  Modification of a read-only value attempted at - line 4.

Then change

  my $i = @_

to

  my $i = @_ = @_

in the for loop.

-- 
Jeff "japhy" Pinyan      [EMAIL PROTECTED]      http://www.pobox.com/~japhy/
RPI Acacia brother #734   http://www.perlmonks.org/   http://www.cpan.org/
** Look for "Regular Expressions in Perl" published by Manning, in 2002 **
<stu> what does y/// stand for?  <tenderpuss> why, yansliterate of course.
[  I'm looking for programming work.  If you like my work, let me know.  ]

Reply via email to