summaryrefslogtreecommitdiff
path: root/lib/dumpvar.pl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dumpvar.pl')
-rw-r--r--lib/dumpvar.pl7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/dumpvar.pl b/lib/dumpvar.pl
index 06c0930581..1fa8246da7 100644
--- a/lib/dumpvar.pl
+++ b/lib/dumpvar.pl
@@ -25,6 +25,7 @@ $subdump = 1;
sub main::dumpValue {
local %address;
+ local $^W=0;
(print "undef\n"), return unless defined $_[0];
(print &stringify($_[0]), "\n"), return unless ref $_[0];
dumpvar::unwrap($_[0],0);
@@ -222,8 +223,8 @@ sub unwrap {
sub matchvar {
$_[0] eq $_[1] or
- ($_[1] =~ /^([!~])(.)/) and
- ($1 eq '!') ^ (eval {($_[2] . "::" . $_[0]) =~ /$2$'/});
+ ($_[1] =~ /^([!~])(.)([\x00-\xff]*)/) and
+ ($1 eq '!') ^ (eval {($_[2] . "::" . $_[0]) =~ /$2$3/});
}
sub compactDump {
@@ -319,7 +320,7 @@ sub findsubs {
sub main::dumpvar {
my ($package,@vars) = @_;
- local(%address,$key,$val);
+ local(%address,$key,$val,$^W);
$package .= "::" unless $package =~ /::$/;
*stab = *{"main::"};
while ($package =~ /(\w+?::)/g){