Yup! There's one of those obvious things I feared: Duh??? ``@'' is an "array" sigil. Wow. I love learning, and it is usually quit a laugh too. Like this time.
Nice code! I'm still used to c, just learning perl, and spontaneous variable declarations seem soooo immoral! Just habit. Also, the next if $str !~ /\w?([0-9])/; type of code is still new to me.
I am assuming that the $- values are keying on the positional declaration within the re. And unlike pos, it does not require m/.../g ?
Changed this to:
if ( $filename =~ /([0-9])/ ) { ($startloc = $-[0]); ($alphaloc = $startloc + 4); } print "$startloc$alphaloc ";
The &&'d failed to set $alphaloc if $startloc was zero. (More hilarity!) A case of trying to be clever, instead of being clever.
Which now works. Perhaps before I die, I'll remember that perl's arrays are scalar references. Perhaps not.
Thank you for your help. This now works, and I can get this done.
In reply to Re^2: position of first matching regex
by techtaskers.com
in thread position of first matching regex
by techtaskers.com
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |