#!perl -w ... use Foo::Bar; ... { my $lastwarn = $SIG{__WARN__}; # Filter out garbage warnings $SIG{__WARN__} = sub { return if ($_[0] =~ m/Use of uninitialized value in subroutine.*Foo\/Bar.*/); (defined($lastwarn) && $lastwarn) ? &$lastwarn(@_) : warn(@_); }; }