\1 works inside the regex where the capture group was defined. $1 works everywhere else, i.e. in a replacement of a substitution. $1 in a regex refers to a previously matched regex (which explains the uninitialized warnings).
Thanks for the explanation choroba. It always helps to know the "why" behind the way things work. It makes it easier to remember in the future when a similar situation arises. Perl Monks are the best!
"It's not how hard you work, it's how much you get done."