my @nums; push @nums, pos() - 1 while m/-[^-]/g; #### my @nums; push @nums, pos() - 1 while m/- /g; #### my (@nums, $pos); push @nums, $pos while $pos = index($_, '- ', $pos) + 1; #### $_ = ' ---------- ------------------------- -------- ---- ------------------------- ----- ---- ----------- -----------'; $_ .= ' '; my (@nums, $pos); push @nums, $pos while $pos = index($_, '- ', $pos) + 1; print join(' ', @nums); chop;