summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/overload.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/overload.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/overload.pm10
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' ? '()' : "(" .$_};
}
}