in reply to Find last position of an element in array

Hello, some unseen solution in the spirit of TIMTOWTDI

use strict; use warnings; my @array = (1,1,1,2,2,2,2,2,3,3,3,4,4,4,4,4,4,5,5,6); # tricky and destructive 1 until 4 == pop @array; print "last occurence of 4 was at ",$#array + 1," position\n"; # or even uglier @array = (1,1,1,2,2,2,2,2,3,3,3,4,4,4,4,4,4,5,5,6); 1 until 4 == pop @array; push @array, 4; print "last occurence of 4 was at $#array position\n"; # non destructive copying $#array @array = (1,1,1,2,2,2,2,2,3,3,3,4,4,4,4,4,4,5,5,6); my $lastindex = $#array; $lastindex-- until $array[ $lastindex ] == 4; print "last occurence of 4 is at $lastindex position\n"; # non destructive taking last of sort-grepping on indexes print "last occurence of 4 is at ",( sort{ $a <=> $b }grep{ $array[$_] + == 4 }0..$#array )[-1]," position\n";

L*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.