Meresi hiba volt. Ujra:

# 1.5 s
   $blob=~ s/(.)(.)(.)/$3$2$1/g;   # R<->B swap

# 0.01 s de fejreall a kep :-)
   $blob = reverse $blob;

# 1.2 s
   $blob = pack( '(C)*', unpack( '(xxCXXCXXCxx)*', $blob ) );

# 1.1 s
   $blob = pack( '(C)*', unpack( '(@2C @1C @0C xx)*', $blob ) );

# 0.5 s
   $blob = reverse pack('(a3)*', reverse unpack('(a3)*', $blob));

# 1.7 s
my @tomb = unpack('C*', $blob);
for (my $i=0; $i<=$#tomb; $i+=3 )
{
    my $x = $tomb[$i];
    $tomb[$i]  = $tomb[$i+2];
    $tomb[$i+2] = $x;
}
$blob = pack('C*', @tomb);

kissg
_________________________________________________
linux lista      -      [email protected]
http://mlf2.linux.rulez.org/mailman/listinfo/linux

válasz