http://qs1969.pair.com?node_id=1038896


in reply to index using a range

Assuming the string is only numerals and isn't all zeros (which could be checked for separately), here's a method that uses coercion of a string into a number.

use strict; use warnings; for my $Str1 ( "987654", "087654", "007654", "000654", "000054", "0000 +04" ) { my $Index = length($Str1) - length($Str1 + 0) + 1; print "$Str1 pos=$Index\n"; } __END__ 987654 pos=1 087654 pos=2 007654 pos=3 000654 pos=4 000054 pos=5 000004 pos=6