>sub rotate { unshift @_, splice @_, shift @_; return @_ }

Curious. Here is one of my routines that rotates a vector (an array) either 
foward or reverse, any number of elements. Seems like we had a similar 
approach I just encapuslated with a bunch of logic and control..



# rotate elements around, arg is n and array
sub rotate
{return () unless $_[1];
die 'APL: rotate called with improper args' unless $_[0] && $_[1];
my $n=$_[0];
my @l=@{$_[1]};
my ($i, @lx) = (0);

for ($i==0; $i<abs $n; $i++)
  {$lx=shift @l if $n>0;
   $lx=pop @l if $n<0;
   push @l,$lx if $n>0;
   unshift @l,$lx if $n<0;
  }

return \@l;
}

* JAPC *
Some girls like DIAMONDS, but I like PERL.




_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com

Reply via email to