in reply to Re^2: Regex returns match the first time. It returns everything thereafter
in thread Regex returns match the first time. It returns everything thereafter

This could be explained if  $_ had been assigned a defined value by some operation previous to the code shown in the OP.

The other twist I noticed is that the regex is really  /\Z/ and not  /\\Z/. The former regex matches everything, even undef (although a warning is still generated for a match against undef if warnings are enabled).