The column number is just the offset of the substring in the current line. You tend to have the whole line in memory. Use whatever means to fetch that position from the string.
For example: the array @-, or pos (you need to use /g on the regexp for the latter to work)
/&/ and printf "Line %d Col %d: & found.\n", $., $-[0]+1;