my $s = do { # don't care about warnings. local *STDERR; open STDERR, '>', File::Spec->devnull(); code_that_warns_deep_in_core_perl(); # and I can't figure out why }; #### Use of uninitialized value in lc at /usr/lib/perl5/5.8.7/utf8_heavy.pl line 123. #### if (my $base = ($utf8::Canonical{$canonical} || $utf8::Canonical{ lc $utf8::PropertyAlias{$canonical} })) {