in reply to small regex help

You're pretty close,

for (@lines) { s/(\d+\s+)(.+)$/$1(Birthday) $2 - singer/; print; }
I don't see why you're counting the lines. You can make that print to a new output file if you want.

After Compline,
Zaxo