From: "Jenda Krynicky" <[EMAIL PROTECTED]>
> From: Paul Archer <[EMAIL PROTECTED]>
> > Is there any (quick and easy) way to get a reverse range, like
> > (10..1), rather than a standard (1..10)? The catch is to *not* use
> > 'reverse'. I'm teaching Sun's perl course this week (DTP-250), and
> > we were talking about working on arrays. The book had an exercise
> > that had the student reverse an array by using pop (or shift, I
> > don't remember). That section is before we talk about 'reverse', and
> > I thought you'd be able to do it like: @array[0 .. $#array] =
> > @array[$#array .. 0] ...but of course, having the range count down
> > doesn't work.
> 
> $array[-1] is the last item, $array[-scalar(@array)] is the first so:
> 
> @array[0 .. $#array] = @array[map -$_, (1 .. scalar(@array))];

Actually
        @array = @array[map -$_, (1 .. scalar(@array))];
is good enough.

Jenda

===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed 
to get drunk and croon as much as they like.
        -- Terry Pratchett in Sourcery


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to