$pad =~ s/(?:z(.)(?:z.)+)|(?:.(.))/$1$2/g; #### use strict; use warnings; my $pad = "whatever..."; { no warnings qw/uninitialized/; $pad =~ s/(?:z(.)(?:z.)+)|(?:.(.))/$1$2/g; } # here, all warnings are active again.