Changes for version 5.005_64

  • In conjunction with the new C<$^V> magic variable (which contains the perl version in this format), such literals can be used to check if you're running a particular version of Perl.
    • if ($^V and $^V gt v5.5.640) {
      • new style version numbers are supported
    • }
  • C<require> and C<use> also support such literals:
    • require v5.6.0; # croak if $^V lt v5.6.0 use v5.6.0; # same, but croaks at compile-time
  • =head2 Weak references
  • WARNING: This is an experimental feature.
  • In previous versions of Perl, you couldn't cache objects so as to allow them to be deleted if the last reference from outside the cache is deleted. The reference in the cache would hold a reference count on the object and the objects would never be destroyed.
  • Another familiar problem is with circular references. When an object references itself, its reference count would never go down to zero, and it would not get destroyed until the program is about to exit.
  • Weak references solve this by allowing you to "weaken" any reference, that is, make it not count towards the reference count. When the last non-weak reference to an object is deleted, the object is destroyed and all the weak references to the object are automatically undef-ed.
  • To use this feature, you need the WeakRef package from CPAN, which contains additional documentation.
  • change#3385, also need perlguts documentation
  • TODO - Tuomas Lukka <lukka@iki.fi>
    • =head2 File globbing implemented internally
    • WARNING: This is currently an experimental feature. Interfaces and implementation are likely to change.
    • Perl now uses the File::Glob implementation of the glob() operator automatically. This avoids using an external csh process and the problems associated with it.
    • =head2 Binary numbers supported
    • Binary numbers are now supported as literals, in s?printf formats, and C<oct()>:
      • $answer = 0b101010; printf "The answer is: %b\n", oct("0b101010");
    • =head2 Some arrows may be omitted in calls through references
    • Perl now allows the arrow to be omitted in many constructs involving subroutine calls through references. For example, C<$foo[10]->('foo')> may now be written C<$foo[10]('foo')>. This is rather similar to how the arrow may be omitted from C<$foo[10]->{'foo'}>. Note however, that the arrow is still required for C<foo(10)->('bar')>.
    • =head2 exists() is supported on subroutine names
    • The exists() builtin now works on subroutine names. A subroutine is considered to exist if it has been declared (even if implicitly). See L<perlfunc/exists> for examples.
    • =head2 exists() and delete() are supported on array elements
    • The exists() and delete() builtins now work on simple arrays as well. The behavior is similar to that on hash elements.
    • exists() can be used to check whether an array element has been initialized without autovivifying it. If the array is tied, the EXISTS() method in the corresponding tied package will be invoked.
    • delete() may be used to remove an element from the array and return it. The array element at that position returns to its unintialized state, so that testing for the same element with exists() will return false. If the element happens to be the one at the end, the size of the array also shrinks by one. If the array is tied, the DELETE() method in the corresponding tied package will be invoked.
    • See L<perlfunc/exists> and L<perlfunc/delete> for examples.
    • =head2 syswrite() ease-of-use
    • The length argument of C<syswrite()> has become optional.
    • =head2 File and directory handles can be autovivified
    • Similar to how constructs such as C<$x->[0]> autovivify a reference, handle constructors (open(), opendir(), pipe(), socketpair(), sysopen(), socket(), and accept()) now autovivify a file or directory handle if the handle passed to them is an uninitialized scalar variable. This allows the constructs such as C<open(my $fh, ...)> and C<open(local $fh,...)> to be used to create filehandles that will conveniently be closed automatically when the scope ends, provided there are no other references to them. This largely eliminates the need for typeglobs when opening filehandles that must be passed around, as in the following example:
      • sub myopen { open my $fh, "@_" or die "Can't open '@_': $!"; return $fh; }
      • { my $f = myopen("</etc/motd"); print <$f>;
        • $f implicitly closed here
      • }
  • TODO - this idiom needs more pod penetration
    • =head2 64-bit support
    • All platforms that have 64-bit integers either (a) natively as longs or ints (b) via special compiler flags (c) using long long are able to use "quads" (64-integers) as follows:
    • =over 4
    • =item *
    • constants (decimal, hexadecimal, octal, binary) in the code
    • =item *
    • arguments to oct() and hex()
    • =item *
    • arguments to print(), printf() and sprintf() (flag prefixes ll, L, q)
    • =item *
    • printed as such
    • =item *
    • pack() and unpack() "q" and "Q" formats
    • =item *
    • in basic arithmetics: + - * / %
    • =item *
    • vec() (but see the below note about bit arithmetics)
    • =back
    • Note that unless you have the case (a) you will have to configure and compile Perl using the -Duse64bits Configure flag.
    • Unfortunately bit arithmetics (&, |, ^, ~, <<, >>) for numbers are not 64-bit clean, they are explictly forced to be 32-bit. Bit arithmetics for bit vectors (created by vec()) are not limited in their width.
    • Last but not least: note that due to Perl's habit of always using floating point numbers the quads are still not true integers. When quads overflow their limits (0...18_446_744_073_709_551_615 unsigned, -9_223_372_036_854_775_808...9_223_372_036_854_775_807 signed), they are silently promoted to floating point numbers, after which they will start losing precision (their lower digits).
    • =head2 Large file support
    • If you have filesystems that support "large files" (files larger than

Changes for version 5.005_52

  • that is B<different> from that of previous versions.
  • =item C<undef> fails on read only values
  • Using the C<undef> operator on a readonly value (such as $1) has the same effect as assigning C<undef> to the readonly value--it throws an exception.
  • =item Close-on-exec bit may be set on pipe() handles
  • On systems that support a close-on-exec flag on filehandles, the flag will be set for any handles created by pipe(), if that is warranted by the value of $^F that may be in effect. Earlier versions neglected to set the flag for handles created with pipe(). See L<perlfunc/pipe> and L<perlvar/$^F>.
  • =item Writing C<"$$1"> to mean C<"${$}1"> is unsupported
  • Perl 5.004 deprecated the interpretation of C<$$1> and similar within interpolated strings to mean C<$$ . "1">, but still allowed it.
  • In Perl 5.6 and later, C<"$$1"> always means C<"${$1}">.
  • =item delete(), values() and C<\(%h)> operate on aliases to values, not copies
  • delete(), each(), values() and hashes in a list context return the actual values in the hash, instead of copies (as they used to in earlier versions). Typical idioms for using these constructs copy the returned values, but this can make a significant difference when creating references to the returned values.
  • Keys in the hash are still returned as copies when iterating on a hash.
  • =item vec(EXPR,OFFSET,BITS) enforces powers-of-two BITS
  • vec() generates a run-time error if the BITS argument is not a valid power-of-two integer.
  • =item Text of some diagnostic output has changed
  • Most references to internal Perl operations in diagnostics have been changed to be more descriptive. This may be an issue for programs that may incorrectly rely on the exact text of diagnostics for proper functioning.
  • =item C<%@> has been removed
  • The undocumented special variable C<%@> that used to accumulate "background" errors (such as those that happen in DESTROY()) has been removed, because it could potentially result in memory leaks.
  • =item Parenthesized not() behaves like a list operator
  • The C<not> operator now falls under the "if it looks like a function, it behaves like a function" rule.
  • As a result, the parenthesized form can be used with C<grep> and C<map>. The following construct used to be a syntax error before, but it works as expected now:
    • grep not($_), @things;
  • On the other hand, using C<not> with a literal list slice may not work. The following previously allowed construct:
    • print not (1,2,3)[0];
  • needs to be written with additional parentheses now:
    • print not((1,2,3)[0]);
  • The behavior remains unaffected when C<not> is not followed by parentheses.
  • =item Semantics of bareword prototype C<(*)> have changed
  • Arguments prototyped as C<*> will now be visible within the subroutine as either a simple scalar or as a reference to a typeglob. Perl 5.005 always coerced simple scalar arguments to a typeglob, which wasn't useful in situations where the subroutine must distinguish between a simple scalar and a typeglob. See L<perlsub/Prototypes>.
  • =back
  • =head2 C Source Incompatibilities
  • =over 4
  • =item C<PERL_POLLUTE>
  • Release 5.005 grandfathered old global symbol names by providing preprocessor macros for extension source compatibility. As of release 5.6, these preprocessor definitions are not available by default. You need to explicitly compile perl with C<-DPERL_POLLUTE> to get these definitions. For extensions still using the old symbols, this option can be specified via MakeMaker:
    • perl Makefile.PL POLLUTE=1
  • =item C<PERL_IMPLICIT_CONTEXT>
  • PERL_IMPLICIT_CONTEXT is automatically enabled whenever Perl is built with one of -Dusethreads, -Dusemultiplicity, or both. It is not intended to be enabled by users at this time.
  • This new build option provides a set of macros for all API functions such that an implicit interpreter/thread context argument is passed to every API function. As a result of this, something like C<sv_setsv(foo,bar)> amounts to a macro invocation that actually translates to something like C<Perl_sv_setsv(my_perl,foo,bar)>. While this is generally expected to not have any significant source compatibility issues, the difference between a macro and a real function call will need to be considered.
  • This means that there B<is> a source compatibility issue as a result of this if your extensions attempt to use pointers to any of the Perl API functions.
  • Note that the above issue is not relevant to the default build of Perl, whose interfaces continue to match those of prior versions (but subject to the other options described here).
  • See L<perlguts/"The Perl API"> for detailed information on the ramifications of building Perl using this option.
  • =item C<PERL_POLLUTE_MALLOC>
  • Enabling Perl's malloc in release 5.005 and earlier caused the namespace of system versions of the malloc family of functions to be usurped by the Perl versions, since by default they used the same names.
  • Besides causing problems on platforms that do not allow these functions to be cleanly replaced, this also meant that the system versions could not be called in programs that used Perl's malloc. Previous versions of Perl have allowed this behaviour to be suppressed with the HIDEMYMALLOC and EMBEDMYMALLOC preprocessor definitions.
  • As of release 5.6, Perl's malloc family of functions have default names distinct from the system versions. You need to explicitly compile perl with C<-DPERL_POLLUTE_MALLOC> to get the older behaviour. HIDEMYMALLOC and EMBEDMYMALLOC have no effect, since the behaviour they enabled is now the default.
  • Note that these functions do B<not> constitute Perl's memory allocation API. See L<perlguts/"Memory Allocation"> for further information about that.
  • =back
  • =head2 Compatible C Source API Changes
  • =over
  • =item C<PATCHLEVEL> is now C<PERL_VERSION>
  • The cpp macros C<PERL_REVISION>, C<PERL_VERSION>, and C<PERL_SUBVERSION> are now available by default from perl.h, and reflect the base revision, patchlevel, and subversion respectively. C<PERL_REVISION> had no prior equivalent, while C<PERL_VERSION> and C<PERL_SUBVERSION> were previously available as C<PATCHLEVEL> and C<SUBVERSION>.
  • The new names cause less pollution of the B<cpp> namespace and reflect what the numbers have come to stand for in common practice. For compatibility, the old names are still supported when F<patchlevel.h> is explicitly included (as required before), so there is no source incompatibility from the change.
  • =item Support for C++ exceptions
  • change#3386, also needs perlguts documentation
  • TODO - Chip Salzenberg <chip@perlsupport.com>
    • =back
    • =head2 Binary Incompatibilities
    • In general, the default build of this release is expected to be binary compatible for extensions built with the 5.005 release or its maintenance versions. However, specific platforms may have broken binary compatibility due to changes in the defaults used in hints files. Therefore, please be sure to always check the platform-specific README files for any notes to the contrary.
    • The usethreads or usemultiplicity builds are B<not> binary compatible with the corresponding builds in 5.005.
    • On platforms that require an explicit list of exports (AIX, OS/2 and Windows, among others), purely internal symbols such as parser functions and the run time opcodes are not exported by default. Perl 5.005 used to export all functions irrespective of whether they were considered part of the public API or not.
    • For the full list of public API functions, see L<perlapi>.
    • =head1 Installation and Configuration Improvements
    • =head2 -Dusethreads means something different
    • WARNING: Support for threads continues to be an experimental feature. Interfaces and implementation are subject to sudden and drastic changes.
    • The -Dusethreads flag now enables the experimental interpreter-based thread support by default. To get the flavor of experimental threads that was in

Documentation

Appropriate format for patches to the perl source tree
Notes on handling the Perl Patch Pumpkin
Plan 9-specific documentation for Perl
Interfaces to some Win32 API Functions
Practical Extraction and Report Language
what's new for perl5.004
what's new for perl5.005
autogenerated documentation for the perl public API
perl's IO abstraction interface.
Perl book information
Bag'o Object Tricks (the BOT)
Perl calling conventions from C
Introduction to the Perl Compiler-Translator
Perl data types
Perl DBM Filters
Perl debugging
what's new for perl v5.6 (as of v5.005_64)
various Perl diagnostics
Perl Data Structures Cookbook
how to embed perl in your C program
frequently asked questions about Perl ($Date: 1999/05/23 20:38:02 $)
General Questions About Perl ($Revision: 1.23 $, $Date: 1999/05/23 16:08:30 $)
Obtaining and Learning about Perl ($Revision: 1.32 $, $Date: 1999/10/14 18:46:09 $)
Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23 16:08:30 $)
Data Manipulation ($Revision: 1.49 $, $Date: 1999/05/23 20:37:49 $)
Files and Formats ($Revision: 1.38 $, $Date: 1999/05/23 16:08:30 $)
Regexes ($Revision: 1.27 $, $Date: 1999/05/23 16:08:30 $)
Perl Language Issues ($Revision: 1.28 $, $Date: 1999/05/23 20:36:18 $)
System Interaction ($Revision: 1.39 $, $Date: 1999/05/23 18:37:57 $)
Networking ($Revision: 1.26 $, $Date: 1999/05/23 16:08:30 $)
Source Filters
Perl's fork() emulation
Perl formats
Perl builtin functions
Introduction to the Perl API
How to hack at the Perl internals
the Perl history records
autogenerated documentation of purely internal Perl functions
Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores)
Perl Lexical Warnings
Perl locale handling (internationalization and localization)
Manipulating Arrays of Arrays in Perl
Perl modules (packages and symbol tables)
Installing CPAN Modules
constructing new Perl modules and finding existing ones
Perl objects
Perl operators and precedence
tutorial on opening things in Perl
plain old documentation
Writing portable Perl
Perl regular expressions
Perl references and nested data structures
Mark's very short tutorial about references
how to execute the Perl interpreter
Perl security
Perl style guide
Perl subroutines
Perl syntax
tutorial on threads in Perl
how to hide an object class in a simple variable
perl documentation table of contents
Perl TO-DO List
Tom's object-oriented tutorial for perl
Tom's OO Tutorial for Class Data in Perl
Perl traps for the unwary
Unicode support in Perl
Perl predefined variables
XS language reference manual
Tutorial for writing XSUBs
VMS-specific documentation for Perl
Awk to Perl translator

Modules

Backward compatibility module for CGI.pm
Backward compatibility module for defunct CGI::Switch
programmatic interface to the Perl debugging API (draft, subject to change)

Provides

in lib/AnyDBM_File.pm
in lib/AutoLoader.pm
in lib/AutoSplit.pm
B
in ext/B/B.pm
in ext/B/B/Asmdata.pm
in ext/B/B/Assembler.pm
in ext/B/B/Bblock.pm
in ext/B/B/Bytecode.pm
in ext/B/B/C.pm
in ext/B/B/C.pm
in ext/B/B/CC.pm
in ext/B/B/Debug.pm
in ext/B/B/Deparse.pm
in ext/B/B/Disassembler.pm
in ext/B/B/Disassembler.pm
in ext/B/B/Lint.pm
in ext/B/B.pm
in ext/B/B/CC.pm
in ext/B/B.pm
in ext/B/B/CC.pm
in ext/B/B/Showlex.pm
in ext/B/B/Stackobj.pm
in ext/B/B/Stash.pm
in ext/B/B/Terse.pm
in ext/B/B/Xref.pm
in lib/Benchmark.pm
in ext/ByteLoader/ByteLoader.pm
CGI
in lib/CGI.pm
in lib/CGI/Carp.pm
in lib/CGI/Cookie.pm
in lib/CGI/Fast.pm
in lib/CGI/Pretty.pm
in lib/CGI/Push.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN/FirstTime.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN/FirstTime.pm
in lib/CPAN.pm
in lib/CPAN/Nox.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/CPAN.pm
in lib/Carp.pm
in lib/Carp/Heavy.pm
in lib/Class/Struct.pm
in lib/Class/Struct.pm
Cwd
in lib/Cwd.pm
in ext/DB_File/DB_File.pm
in ext/DB_File/DB_File.pm
in ext/DB_File/DB_File.pm
in ext/DB_File/DB_File.pm
in ext/Data/Dumper/Dumper.pm
in ext/Devel/DProf/DProf.pm
in ext/Devel/Peek/Peek.pm
in lib/Devel/SelfStubber.pm
in lib/DirHandle.pm
in lib/Dumpvalue.pm
in lib/ExtUtils/Mkbootstrap.pm
in lib/English.pm
Env
in lib/Env.pm
in lib/Exporter.pm
in lib/Exporter/Heavy.pm
in lib/ExtUtils/Command.pm
in lib/ExtUtils/Embed.pm
in lib/ExtUtils/Install.pm
in lib/ExtUtils/Install.pm
in lib/ExtUtils/Installed.pm
in lib/ExtUtils/Liblist.pm
in lib/ExtUtils/MakeMaker.pm
in lib/ExtUtils/MM_Cygwin.pm
in lib/ExtUtils/MM_OS2.pm
in lib/ExtUtils/MM_Unix.pm
in lib/ExtUtils/MM_VMS.pm
in lib/ExtUtils/MM_Win32.pm
in lib/ExtUtils/MM_Win32.pm
in lib/ExtUtils/MakeMaker.pm
in lib/ExtUtils/Manifest.pm
in lib/ExtUtils/Mkbootstrap.pm
in lib/ExtUtils/Mksymlists.pm
in lib/ExtUtils/Packlist.pm
in vms/ext/XSSymSet.pm
in lib/ExtUtils/testlib.pm
in lib/Fatal.pm
in ext/Fcntl/Fcntl.pm
Fh
in lib/CGI.pm
in lib/File/Basename.pm
in lib/File/CheckTree.pm
in lib/File/Compare.pm
in lib/File/Copy.pm
in lib/File/DosGlob.pm
in lib/File/Find.pm
in ext/File/Glob/Glob.pm
in lib/File/Path.pm
in lib/File/Spec.pm
in lib/File/Spec/Functions.pm
in lib/File/Spec/Mac.pm
in lib/File/Spec/OS2.pm
in lib/File/Spec/Unix.pm
in lib/File/Spec/VMS.pm
in lib/File/Spec/Win32.pm
in lib/File/stat.pm
in lib/FileCache.pm
in lib/FileHandle.pm
in lib/FindBin.pm
in ext/GDBM_File/GDBM_File.pm
in lib/Getopt/Long.pm
in lib/Getopt/Std.pm
in lib/I18N/Collate.pm
IO
in ext/IO/IO.pm
in ext/IO/lib/IO/Dir.pm
in ext/IO/lib/IO/File.pm
in ext/IO/lib/IO/Handle.pm
in ext/IO/lib/IO/Pipe.pm
in ext/IO/lib/IO/Pipe.pm
in ext/IO/lib/IO/Poll.pm
in ext/IO/lib/IO/Seekable.pm
in ext/IO/lib/IO/Select.pm
in ext/IO/lib/IO/Socket.pm
in ext/IO/lib/IO/Socket/INET.pm
in ext/IO/lib/IO/Socket/UNIX.pm
in ext/IPC/SysV/Msg.pm
in ext/IPC/SysV/Msg.pm
in lib/IPC/Open2.pm
in lib/IPC/Open3.pm
in ext/IPC/SysV/Semaphore.pm
in ext/IPC/SysV/Semaphore.pm
in ext/IPC/SysV/SysV.pm
JNI
in jpl/JNI/JNI.pm
in jpl/JPL/AutoLoader.pm
in jpl/JPL/Class.pm
in jpl/JPL/Compile.pm
MM
in lib/ExtUtils/MakeMaker.pm
MY
in lib/ExtUtils/MakeMaker.pm
in lib/Math/BigFloat.pm
in lib/Math/BigInt.pm
in lib/Math/Complex.pm
in lib/Math/Trig.pm
in lib/CGI.pm
in ext/NDBM_File/NDBM_File.pm
in lib/Net/Ping.pm
in lib/Net/hostent.pm
in lib/Net/netent.pm
in lib/Net/protoent.pm
in lib/Net/servent.pm
O
in ext/B/O.pm
in ext/ODBM_File/ODBM_File.pm
in os2/OS2/REXX/DLL/DLL.pm
in os2/OS2/ExtAttr/ExtAttr.pm
in os2/OS2/PrfDB/PrfDB.pm
in os2/OS2/PrfDB/PrfDB.pm
in os2/OS2/PrfDB/PrfDB.pm
in os2/OS2/Process/Process.pm
in os2/OS2/REXX/REXX.pm
in os2/OS2/REXX/REXX.pm
in os2/OS2/REXX/REXX.pm
in os2/OS2/REXX/REXX.pm
in ext/Opcode/Opcode.pm
in ext/POSIX/POSIX.pm
in ext/POSIX/POSIX.pm
in lib/Pod/ParseUtils.pm
in lib/Pod/ParseUtils.pm
in lib/Pod/Checker.pm
in lib/Pod/Find.pm
in lib/Pod/Functions.pm
in lib/Pod/Html.pm
in lib/Pod/ParseUtils.pm
in lib/Pod/InputObjects.pm
in lib/Pod/InputObjects.pm
in lib/Pod/InputObjects.pm
in lib/Pod/ParseUtils.pm
in lib/Pod/Man.pm
in lib/Pod/InputObjects.pm
in lib/Pod/InputObjects.pm
in lib/Pod/ParseUtils.pm
in lib/Pod/Parser.pm
in lib/Pod/Select.pm
in lib/Pod/Text.pm
in lib/Pod/Text/Color.pm
in lib/Pod/Text/Termcap.pm
in lib/Pod/Usage.pm
in ext/SDBM_File/SDBM_File.pm
in ext/Opcode/Safe.pm
in lib/Search/Dict.pm
in lib/SelectSaver.pm
in lib/SelfLoader.pm
in lib/Shell.pm
in ext/Socket/Socket.pm
in lib/Symbol.pm
in lib/Sys/Hostname.pm
in lib/Sys/Syslog.pm
in lib/CGI.pm
in lib/Term/Cap.pm
in lib/Term/Complete.pm
in lib/Term/ReadLine.pm
in lib/Term/ReadLine.pm
in lib/Term/ReadLine.pm
in lib/Term/ReadLine.pm
in lib/Test.pm
in lib/Test/Harness.pm
in lib/Text/Abbrev.pm
in lib/Text/ParseWords.pm
in lib/Text/Soundex.pm
in lib/Text/Tabs.pm
in lib/Text/Wrap.pm
in ext/Thread/Thread.pm
in ext/Thread/Thread/Queue.pm
in ext/Thread/Thread/Semaphore.pm
in ext/Thread/Thread/Signal.pm
in ext/Thread/Thread/Specific.pm
in lib/Tie/Array.pm
in lib/Tie/Handle.pm
in lib/Tie/Hash.pm
in lib/Tie/RefHash.pm
in lib/Tie/Scalar.pm
in lib/Tie/Array.pm
in lib/Tie/Handle.pm
in lib/Tie/Hash.pm
in lib/Tie/Scalar.pm
in lib/Tie/SubstrHash.pm
in lib/Time/Local.pm
in lib/Time/gmtime.pm
in lib/Time/localtime.pm
in lib/Time/tm.pm
in lib/UNIVERSAL.pm
in lib/User/grent.pm
in lib/User/pwent.pm
in vms/ext/DCLsym/DCLsym.pm
in vms/ext/Filespec.pm
in vms/ext/Stdio/Stdio.pm
in vms/ext/Stdio/Stdio.pm
in lib/attributes.pm
in ext/attrs/attrs.pm
in lib/autouse.pm
in lib/base.pm
in lib/blib.pm
in lib/byte.pm
in lib/charnames.pm
in lib/constant.pm
in lib/diagnostics.pm
in lib/fields.pm
in lib/filetest.pm
in lib/integer.pm
in jpl/JPL/AutoLoader.pm
in lib/less.pm
lib
in lib/lib.pm
in lib/locale.pm
ops
in ext/Opcode/ops.pm
in lib/overload.pm
re
in ext/re/re.pm
in lib/sigtrap.pm
in lib/strict.pm
in lib/subs.pm
in lib/utf8.pm
in lib/vars.pm
in vms/ext/vmsish.pm
in lib/warnings.pm