"Chas. Owens" schreef:
> Dr.Ruud:
>> Jeff Pang:

>>>         my $tmp = $array[$_];
>>>         $array[$_] = $array[$_+1];
>>>         $array[$_+1] = $tmp;
>> 
>> Alternative without a $tmp:
>> 
>>           @array[$_, $_+1] = @array[$_+1, $_];
>> 
>> (but actually it has 2 $tmp's)
> 
> or the old chestnut:
> 
> $array[0] ^= $array[1]
> $array[1] ^= $array[0]
> $array[0] ^= $array[1]
> 
> Which even works on strings (but not references) in Perl.

With strings not without length-issues:

$ perl -wle '
    my @array = qw(abc defgh);
    $array[0] ^= $array[1];
    $array[1] ^= $array[0];
    $array[0] ^= $array[1];
    print "<$_>" for @array;
'
<defgh>
<abc  >


$ perl -wle '
    my @array = qw(abcde fgh)
    $array[0] ^= $array[1];
    $array[1] ^= $array[0];
    $array[0] ^= $array[1];
    print "<$_>\n" for @array
'
<fgh  >
<abcde>

-- 
Affijn, Ruud

"Gewoon is een tijger."

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to