PATH:
usr
/
share
/
perl5
package overloading; use warnings; our $VERSION = '0.02'; my $HINT_NO_AMAGIC = 0x01000000; # see perl.h require 5.010001; sub _ops_to_nums { require overload::numbers; map { exists $overload::numbers::names{"($_"} ? $overload::numbers::names{"($_"} : do { require Carp; Carp::croak("'$_' is not a valid overload") } } @_; } sub import { my ( $class, @ops ) = @_; if ( @ops ) { if ( $^H{overloading} ) { vec($^H{overloading} , $_, 1) = 0 for _ops_to_nums(@ops); } if ( $^H{overloading} !~ /[^\0]/ ) { delete $^H{overloading}; $^H &= ~$HINT_NO_AMAGIC; } } else { delete $^H{overloading}; $^H &= ~$HINT_NO_AMAGIC; } } sub unimport { my ( $class, @ops ) = @_; if ( exists $^H{overloading} or not $^H & $HINT_NO_AMAGIC ) { if ( @ops ) { vec($^H{overloading} ||= '', $_, 1) = 1 for _ops_to_nums(@ops); } else { delete $^H{overloading}; } } $^H |= $HINT_NO_AMAGIC; } 1; __END__ =head1 NAME overloading - perl pragma to lexically control overloading =head1 SYNOPSIS { no overloading; my $str = "$object"; # doesn't call stringification overload } # it's lexical, so this stringifies: warn "$object"; # it can be enabled per op no overloading qw(""); warn "$object"; # and also reenabled use overloading; =head1 DESCRIPTION This pragma allows you to lexically disable or enable overloading. =over 6 =item C<no overloading> Disables overloading entirely in the current lexical scope. =item C<no overloading @ops> Disables only specific overloads in the current lexical scope. =item C<use overloading> Reenables overloading in the current lexical scope. =item C<use overloading @ops> Reenables overloading only for specific ops in the current lexical scope. =back =cut
[+]
CPAN
[-] DBM_Filter.pm
[open]
[+]
Compress
[+]
..
[+]
Math
[-] AnyDBM_File.pm
[open]
[-] diagnostics.pm
[open]
[+]
warnings
[+]
IPC
[-] charnames.pm
[open]
[-] vmsish.pm
[open]
[-] meta_notation.pm
[open]
[-] vars.pm
[open]
[-] filetest.pm
[open]
[+]
Time
[-] fields.pm
[open]
[+]
User
[+]
DBM_Filter
[+]
Class
[-] deprecate.pm
[open]
[+]
Thread
[-] FileHandle.pm
[open]
[-] strict.pm
[open]
[-] Thread.pm
[open]
[-] XSLoader.pm
[open]
[-] SelectSaver.pm
[open]
[+]
unicore
[-] utf8.pm
[open]
[-] CORE.pod
[open]
[-] AutoSplit.pm
[open]
[+]
Module
[+]
overload
[+]
Term
[-] if.pm
[open]
[-] UNIVERSAL.pm
[open]
[-] overloading.pm
[open]
[+]
Tie
[-] AutoLoader.pm
[open]
[-] autouse.pm
[open]
[-] feature.pm
[open]
[+]
I18N
[+]
Pod
[-] Dumpvalue.pm
[open]
[+]
vendor_perl
[+]
Text
[+]
Locale
[+]
ExtUtils
[-] DirHandle.pm
[open]
[-] open.pm
[open]
[-] Benchmark.pm
[open]
[-] integer.pm
[open]
[+]
Unicode
[-] perl5db.pl
[open]
[-] Safe.pm
[open]
[+]
Memoize
[-] overload.pm
[open]
[-] blib.pm
[open]
[-] Symbol.pm
[open]
[-] subs.pm
[open]
[-] English.pm
[open]
[+]
IO
[+]
URI
[-] Test.pm
[open]
[-] warnings.pm
[open]
[+]
Attribute
[+]
File
[+]
Net
[+]
encoding
[-] bytes_heavy.pl
[open]
[+]
Getopt
[+]
Search
[-] URI.pm
[open]
[-] DB.pm
[open]
[-] base.pm
[open]
[-] FindBin.pm
[open]
[+]
pod
[-] Memoize.pm
[open]
[+]
B
[-] sort.pm
[open]
[-] sigtrap.pm
[open]
[-] NEXT.pm
[open]
[-] Internals.pod
[open]
[-] less.pm
[open]
[+]
Config
[-] FileCache.pm
[open]
[-] PerlIO.pm
[open]
[-] SelfLoader.pm
[open]
[-] locale.pm
[open]
[-] bytes.pm
[open]
[-] _charnames.pm
[open]
[-] dumpvar.pl
[open]
[+]
Devel