this just blew my mind. I had no idea named captures set local variables when you use =~.