diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/overload.pm')
-rw-r--r-- | Master/tlpkg/tlperl/lib/overload.pm | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Master/tlpkg/tlperl/lib/overload.pm b/Master/tlpkg/tlperl/lib/overload.pm index 4a1912c2366..ba563143f1d 100644 --- a/Master/tlpkg/tlperl/lib/overload.pm +++ b/Master/tlpkg/tlperl/lib/overload.pm @@ -1,6 +1,6 @@ package overload; -our $VERSION = '1.26'; +our $VERSION = '1.28'; %ops = ( with_assign => "+ - * / % ** << >> x .", @@ -21,9 +21,7 @@ our $VERSION = '1.26'; ); my %ops_seen; -for $category (keys %ops) { - $ops_seen{$_}++ for (split /\s+/, $ops{$category}); -} +@ops_seen{ map split(/ /), values %ops } = (); sub nil {} @@ -40,7 +38,7 @@ sub OVERLOAD { } } else { warnings::warnif("overload arg '$_' is invalid") - unless $ops_seen{$_}; + unless exists $ops_seen{$_}; $sub = $arg{$_}; if (not ref $sub) { $ {$package . "::(" . $_} = $sub; @@ -65,7 +63,7 @@ sub unimport { *{$package . "::(("} = \&nil; for (@_) { warnings::warnif("overload arg '$_' is invalid") - unless $ops_seen{$_}; + unless exists $ops_seen{$_}; delete $ {$package . "::"}{$_ eq 'fallback' ? '()' : "(" .$_}; } } |