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.
David |