Although use strict; is highly recommended [...] in this case, the behaviour would be identical to that observed [...]
Hi Bloodnok. If you add use strict; to the program from the OP then you get errors for the undeclared variables. After you add 'my' to declare them as lexical variables you get an error 'Can't use global $1 in "my" at C:\path\997292.pl line 7, near "my $1 ".'
Edit: Here are some discussions about using the strict pragma. Use strict and warnings, strict, https://www.perl.com/pub/2001/01/begperl6.html/#use%20strict, Why We Use Strict!, https://perlmaven.com/strict.