Add META.yml and Stas' makemeta (plus extensive reworking
Jarkko Hietaniemi [Tue, 5 Aug 2003 08:31:29 +0000 (08:31 +0000)]
of the Maintainers utility)

p4raw-id: //depot/perl@20491

MANIFEST
META.yml [new file with mode: 0644]
Makefile.SH
Porting/Maintainers
Porting/Maintainers.pl
Porting/Maintainers.pm [new file with mode: 0644]
Porting/makemeta [new file with mode: 0644]

index 0681cd5..a9f2ef7 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -2111,6 +2111,7 @@ Makefile.SH                       A script that generates Makefile
 malloc.c                       A version of malloc you might not want
 malloc_ctl.h                   A version of malloc you might not want
 MANIFEST                       This list of files
+META.yml                       Distribution meta-data in YAML
 mg.c                           Magic code
 mg.h                           Magic header
 minimod.pl                     Writes lib/ExtUtils/Miniperl.pm
@@ -2405,7 +2406,9 @@ Porting/fixvars           Find undeclared variables with C compiler and fix em
 Porting/genlog         Generate formatted changelogs by querying p4d
 Porting/Glossary       Glossary of config.sh variables
 Porting/Maintainers    Program to pretty print info in Maintainers.pl
+Porting/Maintainers.pm Library to pretty print info in Maintainers.pl
 Porting/Maintainers.pl Information about maintainers
+Porting/makemeta       Create the top-level META.yml
 Porting/makerel                Release making utility
 Porting/manicheck      Check against MANIFEST
 Porting/p4d2p          Generate patch from p4 diff
diff --git a/META.yml b/META.yml
new file mode 100644 (file)
index 0000000..8cdc3e4
--- /dev/null
+++ b/META.yml
@@ -0,0 +1,1050 @@
+name: perl
+version: 5.009
+abstract: Practical Extraction and Reporting Language
+author: perl5-porters@perl.org
+license: perl
+distribution_type: core
+private:
+  directory:
+    - ext/Data/Dumper
+    - ext/DB_File
+    - ext/Devel/PPPort
+    - ext/Digest/MD5
+    - ext/Encode
+    - ext/Filter/Util/Call
+    - ext/List/Util
+    - ext/MIME/Base64
+    - ext/PerlIO
+    - ext/Safe
+    - ext/Storable
+    - ext/threads
+    - ext/Time/HiRes
+    - ext/Unicode/Normalize
+    - lib/Attribute/Handlers
+    - lib/bignum
+    - lib/CGI
+    - lib/Class/ISA
+    - lib/CPAN
+    - lib/ExtUtils/t
+    - lib/File/Spec
+    - lib/File/Temp
+    - lib/Filter/Simple
+    - lib/Getopt/Long
+    - lib/I18N/LangTags
+    - lib/Locale/Maketext
+    - lib/Math/BigFloat
+    - lib/Math/BigInt
+    - lib/Math/BigRat
+    - lib/Memoize
+    - lib/Net/FTP
+    - lib/Net/Ping
+    - lib/Net/t
+    - lib/NEXT
+    - lib/PerlIO
+    - lib/Pod/Perldoc
+    - lib/Switch
+    - lib/Term/ANSIColor
+    - lib/Test/Harness
+    - lib/Test/Simple
+    - lib/Test/t
+    - lib/Text/Balanced
+    - lib/Text/TabsWrap
+    - lib/Tie/File
+    - lib/Unicode/Collate
+    - t/lib/Filter/Simple
+    - t/lib/MakeMaker
+    - t/lib/Math
+    - t/lib/sample-tests
+    - t/lib/Test/Simple
+
+  file:
+    - ext/Data/Dumper/Changes
+    - ext/Data/Dumper/Dumper.pm
+    - ext/Data/Dumper/Dumper.xs
+    - ext/Data/Dumper/Makefile.PL
+    - ext/Data/Dumper/t/dumper.t
+    - ext/Data/Dumper/t/overload.t
+    - ext/Data/Dumper/t/pair.t
+    - ext/Data/Dumper/Todo
+    - ext/DB_File/Changes
+    - ext/DB_File/DB_File.pm
+    - ext/DB_File/DB_File.xs
+    - ext/DB_File/DB_File_BS
+    - ext/DB_File/dbinfo
+    - ext/DB_File/hints/dynixptx.pl
+    - ext/DB_File/hints/sco.pl
+    - ext/DB_File/Makefile.PL
+    - ext/DB_File/t/db-btree.t
+    - ext/DB_File/t/db-hash.t
+    - ext/DB_File/t/db-recno.t
+    - ext/DB_File/typemap
+    - ext/DB_File/version.c
+    - ext/Devel/PPPort/Changes
+    - ext/Devel/PPPort/Makefile.PL
+    - ext/Devel/PPPort/MANIFEST
+    - ext/Devel/PPPort/module2.c
+    - ext/Devel/PPPort/module3.c
+    - ext/Devel/PPPort/PPPort.pm
+    - ext/Devel/PPPort/PPPort.xs
+    - ext/Devel/PPPort/ppport_h.PL
+    - ext/Devel/PPPort/README
+    - ext/Devel/PPPort/soak
+    - ext/Devel/PPPort/t/test.t
+    - ext/Devel/PPPort/TODO
+    - ext/Digest/MD5/Changes
+    - ext/Digest/MD5/hints/dec_osf.pl
+    - ext/Digest/MD5/hints/irix_6.pl
+    - ext/Digest/MD5/hints/MacOS.pl
+    - ext/Digest/MD5/Makefile.PL
+    - ext/Digest/MD5/MD5.pm
+    - ext/Digest/MD5/MD5.xs
+    - ext/Digest/MD5/README
+    - ext/Digest/MD5/t/align.t
+    - ext/Digest/MD5/t/badfile.t
+    - ext/Digest/MD5/t/clone.t
+    - ext/Digest/MD5/t/files.t
+    - ext/Digest/MD5/t/md5-aaa.t
+    - ext/Digest/MD5/t/utf8.t
+    - ext/Digest/MD5/typemap
+    - ext/Encode/AUTHORS
+    - ext/Encode/bin/enc2xs
+    - ext/Encode/bin/piconv
+    - ext/Encode/bin/ucm2table
+    - ext/Encode/bin/ucmlint
+    - ext/Encode/bin/ucmsort
+    - ext/Encode/bin/unidump
+    - ext/Encode/Byte/Byte.pm
+    - ext/Encode/Byte/Makefile.PL
+    - ext/Encode/Changes
+    - ext/Encode/CN/CN.pm
+    - ext/Encode/CN/Makefile.PL
+    - ext/Encode/EBCDIC/EBCDIC.pm
+    - ext/Encode/EBCDIC/Makefile.PL
+    - ext/Encode/encengine.c
+    - ext/Encode/Encode.pm
+    - ext/Encode/Encode.xs
+    - ext/Encode/Encode/_PM.e2x
+    - ext/Encode/Encode/_T.e2x
+    - ext/Encode/Encode/Changes.e2x
+    - ext/Encode/Encode/ConfigLocal_PM.e2x
+    - ext/Encode/Encode/encode.h
+    - ext/Encode/Encode/Makefile_PL.e2x
+    - ext/Encode/Encode/README.e2x
+    - ext/Encode/encoding.pm
+    - ext/Encode/JP/JP.pm
+    - ext/Encode/JP/Makefile.PL
+    - ext/Encode/KR/KR.pm
+    - ext/Encode/KR/Makefile.PL
+    - ext/Encode/lib/Encode/Alias.pm
+    - ext/Encode/lib/Encode/CJKConstants.pm
+    - ext/Encode/lib/Encode/CN/HZ.pm
+    - ext/Encode/lib/Encode/Config.pm
+    - ext/Encode/lib/Encode/Encoder.pm
+    - ext/Encode/lib/Encode/Encoding.pm
+    - ext/Encode/lib/Encode/Guess.pm
+    - ext/Encode/lib/Encode/JP/H2Z.pm
+    - ext/Encode/lib/Encode/JP/JIS7.pm
+    - ext/Encode/lib/Encode/KR/2022_KR.pm
+    - ext/Encode/lib/Encode/MIME/Header.pm
+    - ext/Encode/lib/Encode/PerlIO.pod
+    - ext/Encode/lib/Encode/Supported.pod
+    - ext/Encode/lib/Encode/Unicode/UTF7.pm
+    - ext/Encode/Makefile.PL
+    - ext/Encode/MANIFEST
+    - ext/Encode/META.yml
+    - ext/Encode/README
+    - ext/Encode/Symbol/Makefile.PL
+    - ext/Encode/Symbol/Symbol.pm
+    - ext/Encode/t/Aliases.t
+    - ext/Encode/t/at-cn.t
+    - ext/Encode/t/at-tw.t
+    - ext/Encode/t/big5-eten.enc
+    - ext/Encode/t/big5-eten.utf
+    - ext/Encode/t/big5-hkscs.enc
+    - ext/Encode/t/big5-hkscs.utf
+    - ext/Encode/t/CJKT.t
+    - ext/Encode/t/enc_data.t
+    - ext/Encode/t/enc_eucjp.t
+    - ext/Encode/t/enc_module.enc
+    - ext/Encode/t/enc_module.t
+    - ext/Encode/t/enc_utf8.t
+    - ext/Encode/t/Encode.t
+    - ext/Encode/t/Encoder.t
+    - ext/Encode/t/encoding.t
+    - ext/Encode/t/fallback.t
+    - ext/Encode/t/gb2312.enc
+    - ext/Encode/t/gb2312.utf
+    - ext/Encode/t/grow.t
+    - ext/Encode/t/guess.t
+    - ext/Encode/t/jisx0201.enc
+    - ext/Encode/t/jisx0201.utf
+    - ext/Encode/t/jisx0208.enc
+    - ext/Encode/t/jisx0208.utf
+    - ext/Encode/t/jisx0212.enc
+    - ext/Encode/t/jisx0212.utf
+    - ext/Encode/t/jperl.t
+    - ext/Encode/t/ksc5601.enc
+    - ext/Encode/t/ksc5601.utf
+    - ext/Encode/t/mime-header.t
+    - ext/Encode/t/Mod_EUCJP.pm
+    - ext/Encode/t/perlio.t
+    - ext/Encode/t/rt.pl
+    - ext/Encode/t/unibench.pl
+    - ext/Encode/t/Unicode.t
+    - ext/Encode/TW/Makefile.PL
+    - ext/Encode/TW/TW.pm
+    - ext/Encode/ucm/8859-1.ucm
+    - ext/Encode/ucm/8859-10.ucm
+    - ext/Encode/ucm/8859-11.ucm
+    - ext/Encode/ucm/8859-13.ucm
+    - ext/Encode/ucm/8859-14.ucm
+    - ext/Encode/ucm/8859-15.ucm
+    - ext/Encode/ucm/8859-16.ucm
+    - ext/Encode/ucm/8859-2.ucm
+    - ext/Encode/ucm/8859-3.ucm
+    - ext/Encode/ucm/8859-4.ucm
+    - ext/Encode/ucm/8859-5.ucm
+    - ext/Encode/ucm/8859-6.ucm
+    - ext/Encode/ucm/8859-7.ucm
+    - ext/Encode/ucm/8859-8.ucm
+    - ext/Encode/ucm/8859-9.ucm
+    - ext/Encode/ucm/adobeStdenc.ucm
+    - ext/Encode/ucm/adobeSymbol.ucm
+    - ext/Encode/ucm/adobeZdingbat.ucm
+    - ext/Encode/ucm/ascii.ucm
+    - ext/Encode/ucm/big5-eten.ucm
+    - ext/Encode/ucm/big5-hkscs.ucm
+    - ext/Encode/ucm/cp037.ucm
+    - ext/Encode/ucm/cp1006.ucm
+    - ext/Encode/ucm/cp1026.ucm
+    - ext/Encode/ucm/cp1047.ucm
+    - ext/Encode/ucm/cp1250.ucm
+    - ext/Encode/ucm/cp1251.ucm
+    - ext/Encode/ucm/cp1252.ucm
+    - ext/Encode/ucm/cp1253.ucm
+    - ext/Encode/ucm/cp1254.ucm
+    - ext/Encode/ucm/cp1255.ucm
+    - ext/Encode/ucm/cp1256.ucm
+    - ext/Encode/ucm/cp1257.ucm
+    - ext/Encode/ucm/cp1258.ucm
+    - ext/Encode/ucm/cp424.ucm
+    - ext/Encode/ucm/cp437.ucm
+    - ext/Encode/ucm/cp500.ucm
+    - ext/Encode/ucm/cp737.ucm
+    - ext/Encode/ucm/cp775.ucm
+    - ext/Encode/ucm/cp850.ucm
+    - ext/Encode/ucm/cp852.ucm
+    - ext/Encode/ucm/cp855.ucm
+    - ext/Encode/ucm/cp856.ucm
+    - ext/Encode/ucm/cp857.ucm
+    - ext/Encode/ucm/cp860.ucm
+    - ext/Encode/ucm/cp861.ucm
+    - ext/Encode/ucm/cp862.ucm
+    - ext/Encode/ucm/cp863.ucm
+    - ext/Encode/ucm/cp864.ucm
+    - ext/Encode/ucm/cp865.ucm
+    - ext/Encode/ucm/cp866.ucm
+    - ext/Encode/ucm/cp869.ucm
+    - ext/Encode/ucm/cp874.ucm
+    - ext/Encode/ucm/cp875.ucm
+    - ext/Encode/ucm/cp932.ucm
+    - ext/Encode/ucm/cp936.ucm
+    - ext/Encode/ucm/cp949.ucm
+    - ext/Encode/ucm/cp950.ucm
+    - ext/Encode/ucm/ctrl.ucm
+    - ext/Encode/ucm/dingbats.ucm
+    - ext/Encode/ucm/euc-cn.ucm
+    - ext/Encode/ucm/euc-jp.ucm
+    - ext/Encode/ucm/euc-kr.ucm
+    - ext/Encode/ucm/gb12345.ucm
+    - ext/Encode/ucm/gb2312.ucm
+    - ext/Encode/ucm/gsm0338.ucm
+    - ext/Encode/ucm/hp-roman8.ucm
+    - ext/Encode/ucm/ir-165.ucm
+    - ext/Encode/ucm/jis0201.ucm
+    - ext/Encode/ucm/jis0208.ucm
+    - ext/Encode/ucm/jis0212.ucm
+    - ext/Encode/ucm/johab.ucm
+    - ext/Encode/ucm/koi8-f.ucm
+    - ext/Encode/ucm/koi8-r.ucm
+    - ext/Encode/ucm/koi8-u.ucm
+    - ext/Encode/ucm/ksc5601.ucm
+    - ext/Encode/ucm/macArabic.ucm
+    - ext/Encode/ucm/macCentEuro.ucm
+    - ext/Encode/ucm/macChinsimp.ucm
+    - ext/Encode/ucm/macChintrad.ucm
+    - ext/Encode/ucm/macCroatian.ucm
+    - ext/Encode/ucm/macCyrillic.ucm
+    - ext/Encode/ucm/macDingbats.ucm
+    - ext/Encode/ucm/macFarsi.ucm
+    - ext/Encode/ucm/macGreek.ucm
+    - ext/Encode/ucm/macHebrew.ucm
+    - ext/Encode/ucm/macIceland.ucm
+    - ext/Encode/ucm/macJapanese.ucm
+    - ext/Encode/ucm/macKorean.ucm
+    - ext/Encode/ucm/macRoman.ucm
+    - ext/Encode/ucm/macROMnn.ucm
+    - ext/Encode/ucm/macRUMnn.ucm
+    - ext/Encode/ucm/macSami.ucm
+    - ext/Encode/ucm/macSymbol.ucm
+    - ext/Encode/ucm/macThai.ucm
+    - ext/Encode/ucm/macTurkish.ucm
+    - ext/Encode/ucm/macUkraine.ucm
+    - ext/Encode/ucm/nextstep.ucm
+    - ext/Encode/ucm/null.ucm
+    - ext/Encode/ucm/posix-bc.ucm
+    - ext/Encode/ucm/shiftjis.ucm
+    - ext/Encode/ucm/symbol.ucm
+    - ext/Encode/ucm/viscii.ucm
+    - ext/Encode/Unicode/Makefile.PL
+    - ext/Encode/Unicode/Unicode.pm
+    - ext/Encode/Unicode/Unicode.xs
+    - ext/Filter/t/call.t
+    - ext/Filter/Util/Call/Call.pm
+    - ext/Filter/Util/Call/Call.xs
+    - ext/Filter/Util/Call/Makefile.PL
+    - ext/List/Util/ChangeLog
+    - ext/List/Util/lib/List/Util.pm
+    - ext/List/Util/lib/Scalar/Util.pm
+    - ext/List/Util/Makefile.PL
+    - ext/List/Util/README
+    - ext/List/Util/t/blessed.t
+    - ext/List/Util/t/dualvar.t
+    - ext/List/Util/t/first.t
+    - ext/List/Util/t/isvstring.t
+    - ext/List/Util/t/lln.t
+    - ext/List/Util/t/max.t
+    - ext/List/Util/t/maxstr.t
+    - ext/List/Util/t/min.t
+    - ext/List/Util/t/minstr.t
+    - ext/List/Util/t/openhan.t
+    - ext/List/Util/t/proto.t
+    - ext/List/Util/t/readonly.t
+    - ext/List/Util/t/reduce.t
+    - ext/List/Util/t/refaddr.t
+    - ext/List/Util/t/reftype.t
+    - ext/List/Util/t/shuffle.t
+    - ext/List/Util/t/sum.t
+    - ext/List/Util/t/tainted.t
+    - ext/List/Util/t/weak.t
+    - ext/List/Util/Util.xs
+    - ext/MIME/Base64/Base64.pm
+    - ext/MIME/Base64/Base64.xs
+    - ext/MIME/Base64/Changes
+    - ext/MIME/Base64/Makefile.PL
+    - ext/MIME/Base64/QuotedPrint.pm
+    - ext/MIME/Base64/t/base64.t
+    - ext/MIME/Base64/t/quoted-print.t
+    - ext/MIME/Base64/t/unicode.t
+    - ext/PerlIO/encoding/encoding.pm
+    - ext/PerlIO/encoding/encoding.xs
+    - ext/PerlIO/encoding/Makefile.PL
+    - ext/PerlIO/encoding/MANIFEST
+    - ext/PerlIO/scalar/Makefile.PL
+    - ext/PerlIO/scalar/scalar.pm
+    - ext/PerlIO/scalar/scalar.xs
+    - ext/PerlIO/t/encoding.t
+    - ext/PerlIO/t/fail.t
+    - ext/PerlIO/t/fallback.t
+    - ext/PerlIO/t/open.t
+    - ext/PerlIO/t/PerlIO.t
+    - ext/PerlIO/t/scalar.t
+    - ext/PerlIO/t/via.t
+    - ext/PerlIO/via/Makefile.PL
+    - ext/PerlIO/via/via.pm
+    - ext/PerlIO/via/via.xs
+    - ext/Safe/t/safe1.t
+    - ext/Safe/t/safe2.t
+    - ext/Safe/t/safe3.t
+    - ext/Storable/ChangeLog
+    - ext/Storable/Makefile.PL
+    - ext/Storable/MANIFEST
+    - ext/Storable/README
+    - ext/Storable/Storable.pm
+    - ext/Storable/Storable.xs
+    - ext/Storable/t/blessed.t
+    - ext/Storable/t/canonical.t
+    - ext/Storable/t/code.t
+    - ext/Storable/t/compat06.t
+    - ext/Storable/t/croak.t
+    - ext/Storable/t/dclone.t
+    - ext/Storable/t/downgrade.t
+    - ext/Storable/t/forgive.t
+    - ext/Storable/t/freeze.t
+    - ext/Storable/t/integer.t
+    - ext/Storable/t/interwork56.t
+    - ext/Storable/t/lock.t
+    - ext/Storable/t/make_56_interwork.pl
+    - ext/Storable/t/make_downgrade.pl
+    - ext/Storable/t/malice.t
+    - ext/Storable/t/overload.t
+    - ext/Storable/t/recurse.t
+    - ext/Storable/t/restrict.t
+    - ext/Storable/t/retrieve.t
+    - ext/Storable/t/st-dump.pl
+    - ext/Storable/t/store.t
+    - ext/Storable/t/tied.t
+    - ext/Storable/t/tied_hook.t
+    - ext/Storable/t/tied_items.t
+    - ext/Storable/t/utf8.t
+    - ext/Storable/t/utf8hash.t
+    - ext/threads/Changes
+    - ext/threads/Makefile.PL
+    - ext/threads/README
+    - ext/threads/shared/Makefile.PL
+    - ext/threads/shared/README
+    - ext/threads/shared/shared.pm
+    - ext/threads/shared/shared.xs
+    - ext/threads/shared/t/0nothread.t
+    - ext/threads/shared/t/av_refs.t
+    - ext/threads/shared/t/av_simple.t
+    - ext/threads/shared/t/cond.t
+    - ext/threads/shared/t/disabled.t
+    - ext/threads/shared/t/hv_refs.t
+    - ext/threads/shared/t/hv_simple.t
+    - ext/threads/shared/t/no_share.t
+    - ext/threads/shared/t/shared_attr.t
+    - ext/threads/shared/t/sv_refs.t
+    - ext/threads/shared/t/sv_simple.t
+    - ext/threads/shared/typemap
+    - ext/threads/t/basic.t
+    - ext/threads/t/end.t
+    - ext/threads/t/join.t
+    - ext/threads/t/libc.t
+    - ext/threads/t/list.t
+    - ext/threads/t/problems.t
+    - ext/threads/t/stress_cv.t
+    - ext/threads/t/stress_re.t
+    - ext/threads/t/stress_string.t
+    - ext/threads/t/thread.t
+    - ext/threads/threads.pm
+    - ext/threads/threads.xs
+    - ext/threads/typemap
+    - ext/Time/HiRes/Changes
+    - ext/Time/HiRes/fallback/const-c.inc
+    - ext/Time/HiRes/fallback/const-xs.inc
+    - ext/Time/HiRes/hints/dec_osf.pl
+    - ext/Time/HiRes/hints/dynixptx.pl
+    - ext/Time/HiRes/hints/irix.pl
+    - ext/Time/HiRes/hints/sco.pl
+    - ext/Time/HiRes/HiRes.pm
+    - ext/Time/HiRes/HiRes.xs
+    - ext/Time/HiRes/Makefile.PL
+    - ext/Time/HiRes/t/HiRes.t
+    - ext/Time/HiRes/typemap
+    - ext/Unicode/Normalize/Changes
+    - ext/Unicode/Normalize/Makefile.PL
+    - ext/Unicode/Normalize/mkheader
+    - ext/Unicode/Normalize/Normalize.pm
+    - ext/Unicode/Normalize/Normalize.xs
+    - ext/Unicode/Normalize/README
+    - ext/Unicode/Normalize/t/func.t
+    - ext/Unicode/Normalize/t/norm.t
+    - ext/Unicode/Normalize/t/test.t
+    - lib/Attribute/Handlers.pm
+    - lib/Attribute/Handlers/Changes
+    - lib/Attribute/Handlers/demo/demo.pl
+    - lib/Attribute/Handlers/demo/Demo.pm
+    - lib/Attribute/Handlers/demo/demo2.pl
+    - lib/Attribute/Handlers/demo/demo3.pl
+    - lib/Attribute/Handlers/demo/demo4.pl
+    - lib/Attribute/Handlers/demo/demo_call.pl
+    - lib/Attribute/Handlers/demo/demo_chain.pl
+    - lib/Attribute/Handlers/demo/demo_cycle.pl
+    - lib/Attribute/Handlers/demo/demo_hashdir.pl
+    - lib/Attribute/Handlers/demo/demo_phases.pl
+    - lib/Attribute/Handlers/demo/demo_range.pl
+    - lib/Attribute/Handlers/demo/demo_rawdata.pl
+    - lib/Attribute/Handlers/demo/Descriptions.pm
+    - lib/Attribute/Handlers/demo/MyClass.pm
+    - lib/Attribute/Handlers/README
+    - lib/Attribute/Handlers/t/multi.t
+    - lib/bigint.pm
+    - lib/bignum.pm
+    - lib/bignum/t/bigint.t
+    - lib/bignum/t/bignum.t
+    - lib/bignum/t/bigrat.t
+    - lib/bignum/t/biinfnan.t
+    - lib/bignum/t/bn_lite.t
+    - lib/bignum/t/bninfnan.t
+    - lib/bignum/t/br_lite.t
+    - lib/bignum/t/brinfnan.t
+    - lib/bignum/t/infnan.inc
+    - lib/bignum/t/option_a.t
+    - lib/bignum/t/option_l.t
+    - lib/bignum/t/option_p.t
+    - lib/bigrat.pm
+    - lib/CGI.pm
+    - lib/CGI/Apache.pm
+    - lib/CGI/Carp.pm
+    - lib/CGI/Cookie.pm
+    - lib/CGI/eg/caution.xbm
+    - lib/CGI/eg/clickable_image.cgi
+    - lib/CGI/eg/cookie.cgi
+    - lib/CGI/eg/crash.cgi
+    - lib/CGI/eg/customize.cgi
+    - lib/CGI/eg/diff_upload.cgi
+    - lib/CGI/eg/dna_small_gif.uu
+    - lib/CGI/eg/file_upload.cgi
+    - lib/CGI/eg/frameset.cgi
+    - lib/CGI/eg/index.html
+    - lib/CGI/eg/internal_links.cgi
+    - lib/CGI/eg/javascript.cgi
+    - lib/CGI/eg/make_links.pl
+    - lib/CGI/eg/monty.cgi
+    - lib/CGI/eg/multiple_forms.cgi
+    - lib/CGI/eg/nph-clock.cgi
+    - lib/CGI/eg/nph-multipart.cgi
+    - lib/CGI/eg/popup.cgi
+    - lib/CGI/eg/RunMeFirst
+    - lib/CGI/eg/save_state.cgi
+    - lib/CGI/eg/tryit.cgi
+    - lib/CGI/eg/wilogo_gif.uu
+    - lib/CGI/Fast.pm
+    - lib/CGI/Pretty.pm
+    - lib/CGI/Push.pm
+    - lib/CGI/Switch.pm
+    - lib/CGI/t/apache.t
+    - lib/CGI/t/carp.t
+    - lib/CGI/t/cookie.t
+    - lib/CGI/t/fast.t
+    - lib/CGI/t/form.t
+    - lib/CGI/t/function.t
+    - lib/CGI/t/html.t
+    - lib/CGI/t/pretty.t
+    - lib/CGI/t/push.t
+    - lib/CGI/t/request.t
+    - lib/CGI/t/switch.t
+    - lib/CGI/t/util-58.t
+    - lib/CGI/t/util.t
+    - lib/CGI/Util.pm
+    - lib/Class/ISA.pm
+    - lib/Class/ISA/test.pl
+    - lib/CPAN.pm
+    - lib/CPAN/bin/cpan
+    - lib/CPAN/FirstTime.pm
+    - lib/CPAN/META.yml
+    - lib/CPAN/Nox.pm
+    - lib/CPAN/PAUSE2003.pub
+    - lib/CPAN/SIGNATURE
+    - lib/CPAN/t/loadme.t
+    - lib/CPAN/t/mirroredby.t
+    - lib/CPAN/t/Nox.t
+    - lib/CPAN/t/signature.t
+    - lib/CPAN/t/vcmp.t
+    - lib/Digest.pm
+    - lib/Digest.t
+    - lib/ExtUtils/Command
+    - lib/ExtUtils/Command.pm
+    - lib/ExtUtils/Install.pm
+    - lib/ExtUtils/Installed.pm
+    - lib/ExtUtils/Liblist
+    - lib/ExtUtils/Liblist.pm
+    - lib/ExtUtils/MakeMaker
+    - lib/ExtUtils/MakeMaker.pm
+    - lib/ExtUtils/Manifest.pm
+    - lib/ExtUtils/Mkbootstrap.pm
+    - lib/ExtUtils/Mksymlists.pm
+    - lib/ExtUtils/MM.pm
+    - lib/ExtUtils/MM_Any.pm
+    - lib/ExtUtils/MM_BeOS.pm
+    - lib/ExtUtils/MM_Cygwin.pm
+    - lib/ExtUtils/MM_DOS.pm
+    - lib/ExtUtils/MM_MacOS.pm
+    - lib/ExtUtils/MM_NW5.pm
+    - lib/ExtUtils/MM_OS2.pm
+    - lib/ExtUtils/MM_Unix.pm
+    - lib/ExtUtils/MM_UWIN.pm
+    - lib/ExtUtils/MM_VMS.pm
+    - lib/ExtUtils/MM_Win32.pm
+    - lib/ExtUtils/MM_Win95.pm
+    - lib/ExtUtils/MY.pm
+    - lib/ExtUtils/Packlist.pm
+    - lib/ExtUtils/t/00compile.t
+    - lib/ExtUtils/t/00setup_dummy.t
+    - lib/ExtUtils/t/backwards.t
+    - lib/ExtUtils/t/basic.t
+    - lib/ExtUtils/t/bytes.t
+    - lib/ExtUtils/t/Command.t
+    - lib/ExtUtils/t/Constant.t
+    - lib/ExtUtils/t/Embed.t
+    - lib/ExtUtils/t/hints.t
+    - lib/ExtUtils/t/INST.t
+    - lib/ExtUtils/t/INST_PREFIX.t
+    - lib/ExtUtils/t/Install.t
+    - lib/ExtUtils/t/Installed.t
+    - lib/ExtUtils/t/Liblist.t
+    - lib/ExtUtils/t/Manifest.t
+    - lib/ExtUtils/t/Mkbootstrap.t
+    - lib/ExtUtils/t/MM_Any.t
+    - lib/ExtUtils/t/MM_BeOS.t
+    - lib/ExtUtils/t/MM_Cygwin.t
+    - lib/ExtUtils/t/MM_NW5.t
+    - lib/ExtUtils/t/MM_OS2.t
+    - lib/ExtUtils/t/MM_Unix.t
+    - lib/ExtUtils/t/MM_VMS.t
+    - lib/ExtUtils/t/MM_Win32.t
+    - lib/ExtUtils/t/oneliner.t
+    - lib/ExtUtils/t/Packlist.t
+    - lib/ExtUtils/t/postamble.t
+    - lib/ExtUtils/t/prefixify.t
+    - lib/ExtUtils/t/problems.t
+    - lib/ExtUtils/t/prompt.t
+    - lib/ExtUtils/t/recurs.t
+    - lib/ExtUtils/t/split_command.t
+    - lib/ExtUtils/t/testlib.t
+    - lib/ExtUtils/t/VERSION_FROM.t
+    - lib/ExtUtils/t/vmsish.t
+    - lib/ExtUtils/t/writemakefile_args.t
+    - lib/ExtUtils/t/zz_cleanup_dummy.t
+    - lib/ExtUtils/testlib.pm
+    - lib/File/Spec.pm
+    - lib/File/Spec/Cygwin.pm
+    - lib/File/Spec/Epoc.pm
+    - lib/File/Spec/Functions.pm
+    - lib/File/Spec/Mac.pm
+    - lib/File/Spec/OS2.pm
+    - lib/File/Spec/t/Functions.t
+    - lib/File/Spec/t/rel2abs2rel.t
+    - lib/File/Spec/t/Spec.t
+    - lib/File/Spec/Unix.pm
+    - lib/File/Spec/VMS.pm
+    - lib/File/Spec/Win32.pm
+    - lib/File/Temp.pm
+    - lib/File/Temp/t/mktemp.t
+    - lib/File/Temp/t/posix.t
+    - lib/File/Temp/t/security.t
+    - lib/File/Temp/t/tempfile.t
+    - lib/Filter/Simple.pm
+    - lib/Filter/Simple/Changes
+    - lib/Filter/Simple/README
+    - lib/Filter/Simple/t/data.t
+    - lib/Filter/Simple/t/export.t
+    - lib/Filter/Simple/t/filter.t
+    - lib/Filter/Simple/t/filter_only.t
+    - lib/Filter/Simple/t/import.t
+    - lib/Getopt/Long.pm
+    - lib/Getopt/Long/CHANGES
+    - lib/Getopt/Long/README
+    - lib/Getopt/Long/t/gol-basic.t
+    - lib/Getopt/Long/t/gol-compat.t
+    - lib/Getopt/Long/t/gol-linkage.t
+    - lib/Getopt/Long/t/gol-oo.t
+    - lib/I18N/LangTags.pm
+    - lib/I18N/LangTags/ChangeLog
+    - lib/I18N/LangTags/List.pm
+    - lib/I18N/LangTags/README
+    - lib/I18N/LangTags/t/01test.t
+    - lib/if.pm
+    - lib/if.t
+    - lib/Locale/Codes
+    - lib/Locale/Constants.pm
+    - lib/Locale/Constants.pod
+    - lib/Locale/Country.pm
+    - lib/Locale/Country.pod
+    - lib/Locale/Currency.pm
+    - lib/Locale/Currency.pod
+    - lib/Locale/Language.pm
+    - lib/Locale/Language.pod
+    - lib/Locale/Maketext.pm
+    - lib/Locale/Maketext/ChangeLog
+    - lib/Locale/Maketext/Guts.pm
+    - lib/Locale/Maketext/GutsLoader.pm
+    - lib/Locale/Maketext/README
+    - lib/Locale/Maketext/t/00about.t
+    - lib/Locale/Maketext/t/01make.t
+    - lib/Locale/Maketext/t/02get.t
+    - lib/Locale/Maketext/t/03http.t
+    - lib/Locale/Maketext/t/90utf8.t
+    - lib/Locale/Maketext/TPJ13.pod
+    - lib/Locale/Script.pm
+    - lib/Locale/Script.pod
+    - lib/Math/BigFloat.pm
+    - lib/Math/BigFloat/Trace.pm
+    - lib/Math/BigInt.pm
+    - lib/Math/BigInt/Calc.pm
+    - lib/Math/BigInt/Scalar.pm
+    - lib/Math/BigInt/t/bare_mbf.t
+    - lib/Math/BigInt/t/bare_mbi.t
+    - lib/Math/BigInt/t/bare_mif.t
+    - lib/Math/BigInt/t/bigfltpm.inc
+    - lib/Math/BigInt/t/bigfltpm.t
+    - lib/Math/BigInt/t/bigintc.t
+    - lib/Math/BigInt/t/bigintpm.inc
+    - lib/Math/BigInt/t/bigintpm.t
+    - lib/Math/BigInt/t/bigints.t
+    - lib/Math/BigInt/t/biglog.t
+    - lib/Math/BigInt/t/calling.t
+    - lib/Math/BigInt/t/config.t
+    - lib/Math/BigInt/t/constant.t
+    - lib/Math/BigInt/t/downgrade.t
+    - lib/Math/BigInt/t/inf_nan.t
+    - lib/Math/BigInt/t/isa.t
+    - lib/Math/BigInt/t/mbi_rand.t
+    - lib/Math/BigInt/t/mbimbf.inc
+    - lib/Math/BigInt/t/mbimbf.t
+    - lib/Math/BigInt/t/req_mbf0.t
+    - lib/Math/BigInt/t/req_mbf1.t
+    - lib/Math/BigInt/t/req_mbfa.t
+    - lib/Math/BigInt/t/req_mbfi.t
+    - lib/Math/BigInt/t/req_mbfn.t
+    - lib/Math/BigInt/t/req_mbfw.t
+    - lib/Math/BigInt/t/require.t
+    - lib/Math/BigInt/t/sub_mbf.t
+    - lib/Math/BigInt/t/sub_mbi.t
+    - lib/Math/BigInt/t/sub_mif.t
+    - lib/Math/BigInt/t/trap.t
+    - lib/Math/BigInt/t/upgrade.inc
+    - lib/Math/BigInt/t/upgrade.t
+    - lib/Math/BigInt/t/upgradef.t
+    - lib/Math/BigInt/t/use.t
+    - lib/Math/BigInt/t/use_lib1.t
+    - lib/Math/BigInt/t/use_lib2.t
+    - lib/Math/BigInt/t/use_lib3.t
+    - lib/Math/BigInt/t/use_lib4.t
+    - lib/Math/BigInt/t/use_mbfw.t
+    - lib/Math/BigInt/t/with_sub.t
+    - lib/Math/BigInt/Trace.pm
+    - lib/Math/BigRat.pm
+    - lib/Math/BigRat/t/big_ap.t
+    - lib/Math/BigRat/t/bigfltpm.inc
+    - lib/Math/BigRat/t/bigfltrt.t
+    - lib/Math/BigRat/t/bigrat.t
+    - lib/Math/BigRat/t/bigratpm.inc
+    - lib/Math/BigRat/t/bigratpm.t
+    - lib/Math/BigRat/t/bigratup.t
+    - lib/Math/BigRat/t/requirer.t
+    - lib/Math/BigRat/t/trap.t
+    - lib/Memoize.pm
+    - lib/Memoize/AnyDBM_File.pm
+    - lib/Memoize/Expire.pm
+    - lib/Memoize/ExpireFile.pm
+    - lib/Memoize/ExpireTest.pm
+    - lib/Memoize/NDBM_File.pm
+    - lib/Memoize/README
+    - lib/Memoize/SDBM_File.pm
+    - lib/Memoize/Storable.pm
+    - lib/Memoize/t/array.t
+    - lib/Memoize/t/array_confusion.t
+    - lib/Memoize/t/correctness.t
+    - lib/Memoize/t/errors.t
+    - lib/Memoize/t/expfile.t
+    - lib/Memoize/t/expire.t
+    - lib/Memoize/t/expmod_n.t
+    - lib/Memoize/t/expmod_t.t
+    - lib/Memoize/t/flush.t
+    - lib/Memoize/t/normalize.t
+    - lib/Memoize/t/prototype.t
+    - lib/Memoize/t/speed.t
+    - lib/Memoize/t/tie.t
+    - lib/Memoize/t/tie_gdbm.t
+    - lib/Memoize/t/tie_ndbm.t
+    - lib/Memoize/t/tie_sdbm.t
+    - lib/Memoize/t/tie_storable.t
+    - lib/Memoize/t/tiefeatures.t
+    - lib/Memoize/t/unmemoize.t
+    - lib/Memoize/TODO
+    - lib/Net/ChangeLog.libnet
+    - lib/Net/Cmd.pm
+    - lib/Net/Config.eg
+    - lib/Net/Config.pm
+    - lib/Net/Domain.pm
+    - lib/Net/FTP.pm
+    - lib/Net/FTP/A.pm
+    - lib/Net/FTP/dataconn.pm
+    - lib/Net/FTP/E.pm
+    - lib/Net/FTP/I.pm
+    - lib/Net/FTP/L.pm
+    - lib/Net/Hostname.eg
+    - lib/Net/libnetFAQ.pod
+    - lib/Net/Netrc.pm
+    - lib/Net/NNTP.pm
+    - lib/Net/Ping.pm
+    - lib/Net/Ping/Changes
+    - lib/Net/Ping/t/100_load.t
+    - lib/Net/Ping/t/110_icmp_inst.t
+    - lib/Net/Ping/t/120_udp_inst.t
+    - lib/Net/Ping/t/130_tcp_inst.t
+    - lib/Net/Ping/t/140_stream_inst.t
+    - lib/Net/Ping/t/150_syn_inst.t
+    - lib/Net/Ping/t/190_alarm.t
+    - lib/Net/Ping/t/200_ping_tcp.t
+    - lib/Net/Ping/t/250_ping_hires.t
+    - lib/Net/Ping/t/300_ping_stream.t
+    - lib/Net/Ping/t/400_ping_syn.t
+    - lib/Net/Ping/t/410_syn_host.t
+    - lib/Net/Ping/t/450_service.t
+    - lib/Net/Ping/t/500_ping_icmp.t
+    - lib/Net/Ping/t/510_ping_udp.t
+    - lib/Net/POP3.pm
+    - lib/Net/README.libnet
+    - lib/Net/SMTP.pm
+    - lib/Net/t/config.t
+    - lib/Net/t/ftp.t
+    - lib/Net/t/hostname.t
+    - lib/Net/t/libnet_t.pl
+    - lib/Net/t/netrc.t
+    - lib/Net/t/nntp.t
+    - lib/Net/t/require.t
+    - lib/Net/t/smtp.t
+    - lib/Net/t/time.t
+    - lib/Net/Time.pm
+    - lib/NEXT.pm
+    - lib/NEXT/Changes
+    - lib/NEXT/README
+    - lib/NEXT/t/actual.t
+    - lib/NEXT/t/actuns.t
+    - lib/NEXT/t/next.t
+    - lib/NEXT/t/unseen.t
+    - lib/PerlIO/via/QuotedPrint.pm
+    - lib/PerlIO/via/t/QuotedPrint.t
+    - lib/Pod/Checker.pm
+    - lib/Pod/Find.pm
+    - lib/Pod/Find.pm
+    - lib/Pod/Html.pm
+    - lib/Pod/InputObjects.pm
+    - lib/Pod/LaTeX.pm
+    - lib/Pod/Man.pm
+    - lib/Pod/ParseLink.pm
+    - lib/Pod/Parser.pm
+    - lib/Pod/ParseUtils.pm
+    - lib/Pod/Perldoc.pm
+    - lib/Pod/Perldoc/BaseTo.pm
+    - lib/Pod/Perldoc/GetOptsOO.pm
+    - lib/Pod/Perldoc/t/checkerbasic.t
+    - lib/Pod/Perldoc/t/perldocbasic.t
+    - lib/Pod/Perldoc/t/textbasic.t
+    - lib/Pod/Perldoc/ToChecker.pm
+    - lib/Pod/Perldoc/ToMan.pm
+    - lib/Pod/Perldoc/ToNroff.pm
+    - lib/Pod/Perldoc/ToPod.pm
+    - lib/Pod/Perldoc/ToRtf.pm
+    - lib/Pod/Perldoc/ToText.pm
+    - lib/Pod/Perldoc/ToTk.pm
+    - lib/Pod/Perldoc/ToXml.pm
+    - lib/Pod/Plainer.pm
+    - lib/Pod/PlainText.pm
+    - lib/Pod/Select.pm
+    - lib/Pod/t/basic.cap
+    - lib/Pod/t/basic.clr
+    - lib/Pod/t/basic.man
+    - lib/Pod/t/basic.ovr
+    - lib/Pod/t/basic.pod
+    - lib/Pod/t/basic.t
+    - lib/Pod/t/basic.t
+    - lib/Pod/t/basic.txt
+    - lib/Pod/t/InputObjects.t
+    - lib/Pod/t/man.t
+    - lib/Pod/t/parselink.t
+    - lib/Pod/t/pod2latex.t
+    - lib/Pod/t/Select.t
+    - lib/Pod/t/text-errors.t
+    - lib/Pod/t/text-options.t
+    - lib/Pod/t/text.t
+    - lib/Pod/t/Usage.t
+    - lib/Pod/t/utils.t
+    - lib/Pod/Text.pm
+    - lib/Pod/Text/Color.pm
+    - lib/Pod/Text/Overstrike.pm
+    - lib/Pod/Text/Termcap.pm
+    - lib/Pod/Usage.pm
+    - lib/Switch.pm
+    - lib/Switch/Changes
+    - lib/Switch/README
+    - lib/Switch/t/given.t
+    - lib/Switch/t/nested.t
+    - lib/Switch/t/switch.t
+    - lib/Term/ANSIColor.pm
+    - lib/Term/ANSIColor/ChangeLog
+    - lib/Term/ANSIColor/README
+    - lib/Term/ANSIColor/test.pl
+    - lib/Term/Cap.pm
+    - lib/Term/Cap.t
+    - lib/Test.pm
+    - lib/Test/Builder.pm
+    - lib/Test/Harness.pm
+    - lib/Test/Harness/Assert.pm
+    - lib/Test/Harness/Changes
+    - lib/Test/Harness/Iterator.pm
+    - lib/Test/Harness/Straps.pm
+    - lib/Test/Harness/t/00compile.t
+    - lib/Test/Harness/t/assert.t
+    - lib/Test/Harness/t/base.t
+    - lib/Test/Harness/t/callback.t
+    - lib/Test/Harness/t/nonumbers.t
+    - lib/Test/Harness/t/ok.t
+    - lib/Test/Harness/t/pod.t
+    - lib/Test/Harness/t/strap-analyze.t
+    - lib/Test/Harness/t/strap.t
+    - lib/Test/Harness/t/test-harness.t
+    - lib/Test/More.pm
+    - lib/Test/Simple.pm
+    - lib/Test/Simple/Changes
+    - lib/Test/Simple/README
+    - lib/Test/Simple/t/bad_plan.t
+    - lib/Test/Simple/t/buffer.t
+    - lib/Test/Simple/t/Builder.t
+    - lib/Test/Simple/t/curr_test.t
+    - lib/Test/Simple/t/details.t
+    - lib/Test/Simple/t/diag.t
+    - lib/Test/Simple/t/exit.t
+    - lib/Test/Simple/t/extra.t
+    - lib/Test/Simple/t/fail-like.t
+    - lib/Test/Simple/t/fail-more.t
+    - lib/Test/Simple/t/fail.t
+    - lib/Test/Simple/t/filehandles.t
+    - lib/Test/Simple/t/fork.t
+    - lib/Test/Simple/t/has_plan.t
+    - lib/Test/Simple/t/has_plan2.t
+    - lib/Test/Simple/t/import.t
+    - lib/Test/Simple/t/is_deeply.t
+    - lib/Test/Simple/t/maybe_regex.t
+    - lib/Test/Simple/t/missing.t
+    - lib/Test/Simple/t/More.t
+    - lib/Test/Simple/t/no_ending.t
+    - lib/Test/Simple/t/no_header.t
+    - lib/Test/Simple/t/no_plan.t
+    - lib/Test/Simple/t/ok_obj.t
+    - lib/Test/Simple/t/output.t
+    - lib/Test/Simple/t/plan.t
+    - lib/Test/Simple/t/plan_is_noplan.t
+    - lib/Test/Simple/t/plan_no_plan.t
+    - lib/Test/Simple/t/plan_skip_all.t
+    - lib/Test/Simple/t/simple.t
+    - lib/Test/Simple/t/skip.t
+    - lib/Test/Simple/t/skipall.t
+    - lib/Test/Simple/t/strays.t
+    - lib/Test/Simple/t/threads.t
+    - lib/Test/Simple/t/todo.t
+    - lib/Test/Simple/t/undef.t
+    - lib/Test/Simple/t/use_ok.t
+    - lib/Test/Simple/t/useing.t
+    - lib/Test/t/fail.t
+    - lib/Test/t/mix.t
+    - lib/Test/t/onfail.t
+    - lib/Test/t/qr.t
+    - lib/Test/t/skip.t
+    - lib/Test/t/success.t
+    - lib/Test/t/todo.t
+    - lib/Text/Balanced.pm
+    - lib/Text/Balanced/Changes
+    - lib/Text/Balanced/README
+    - lib/Text/Balanced/t/extbrk.t
+    - lib/Text/Balanced/t/extcbk.t
+    - lib/Text/Balanced/t/extdel.t
+    - lib/Text/Balanced/t/extmul.t
+    - lib/Text/Balanced/t/extqlk.t
+    - lib/Text/Balanced/t/exttag.t
+    - lib/Text/Balanced/t/extvar.t
+    - lib/Text/Balanced/t/gentag.t
+    - lib/Text/Tabs.pm
+    - lib/Text/TabsWrap/CHANGELOG
+    - lib/Text/TabsWrap/t/fill.t
+    - lib/Text/TabsWrap/t/tabs.t
+    - lib/Text/TabsWrap/t/wrap.t
+    - lib/Text/Wrap.pm
+    - lib/Tie/File.pm
+    - lib/Tie/File/t/00_version.t
+    - lib/Tie/File/t/01_gen.t
+    - lib/Tie/File/t/02_fetchsize.t
+    - lib/Tie/File/t/03_longfetch.t
+    - lib/Tie/File/t/04_splice.t
+    - lib/Tie/File/t/05_size.t
+    - lib/Tie/File/t/06_fixrec.t
+    - lib/Tie/File/t/07_rv_splice.t
+    - lib/Tie/File/t/08_ro.t
+    - lib/Tie/File/t/09_gen_rs.t
+    - lib/Tie/File/t/10_splice_rs.t
+    - lib/Tie/File/t/11_rv_splice_rs.t
+    - lib/Tie/File/t/12_longfetch_rs.t
+    - lib/Tie/File/t/13_size_rs.t
+    - lib/Tie/File/t/14_lock.t
+    - lib/Tie/File/t/15_pushpop.t
+    - lib/Tie/File/t/16_handle.t
+    - lib/Tie/File/t/17_misc_meth.t
+    - lib/Tie/File/t/18_rs_fixrec.t
+    - lib/Tie/File/t/19_cache.t
+    - lib/Tie/File/t/20_cache_full.t
+    - lib/Tie/File/t/21_win32.t
+    - lib/Tie/File/t/22_autochomp.t
+    - lib/Tie/File/t/23_rv_ac_splice.t
+    - lib/Tie/File/t/24_cache_loop.t
+    - lib/Tie/File/t/25_gen_nocache.t
+    - lib/Tie/File/t/26_twrite.t
+    - lib/Tie/File/t/27_iwrite.t
+    - lib/Tie/File/t/28_mtwrite.t
+    - lib/Tie/File/t/29_downcopy.t
+    - lib/Tie/File/t/29a_upcopy.t
+    - lib/Tie/File/t/30_defer.t
+    - lib/Tie/File/t/31_autodefer.t
+    - lib/Tie/File/t/32_defer_misc.t
+    - lib/Tie/File/t/33_defer_vs.t
+    - lib/Tie/File/t/40_abs_cache.t
+    - lib/Tie/File/t/41_heap.t
+    - lib/Tie/File/t/42_offset.t
+    - lib/Time/Local.pm
+    - lib/Time/Local.t
+    - lib/Unicode/Collate.pm
+    - lib/Unicode/Collate/Changes
+    - lib/Unicode/Collate/keys.txt
+    - lib/Unicode/Collate/README
+    - lib/Unicode/Collate/t/index.t
+    - lib/Unicode/Collate/t/test.t
+    - pod/pod2man.PL
+    - pod/pod2text.PL
+    - t/lib/filter-util.pl
+    - t/lib/Filter/Simple/ExportTest.pm
+    - t/lib/Filter/Simple/FilterOnlyTest.pm
+    - t/lib/Filter/Simple/FilterTest.pm
+    - t/lib/Filter/Simple/ImportTest.pm
+    - t/lib/MakeMaker/Test/Setup/Recurs.pm
+    - t/lib/MakeMaker/Test/Utils.pm
+    - t/lib/Math/BigFloat/Subclass.pm
+    - t/lib/Math/BigInt/BareCalc.pm
+    - t/lib/Math/BigInt/Subclass.pm
+    - t/lib/Math/BigRat/Test.pm
+    - t/lib/sample-tests/bailout
+    - t/lib/sample-tests/bignum
+    - t/lib/sample-tests/combined
+    - t/lib/sample-tests/descriptive
+    - t/lib/sample-tests/die
+    - t/lib/sample-tests/die_head_end
+    - t/lib/sample-tests/die_last_minute
+    - t/lib/sample-tests/duplicates
+    - t/lib/sample-tests/head_end
+    - t/lib/sample-tests/head_fail
+    - t/lib/sample-tests/lone_not_bug
+    - t/lib/sample-tests/no_nums
+    - t/lib/sample-tests/no_output
+    - t/lib/sample-tests/out_of_order
+    - t/lib/sample-tests/segfault
+    - t/lib/sample-tests/shbang_misparse
+    - t/lib/sample-tests/simple
+    - t/lib/sample-tests/simple_fail
+    - t/lib/sample-tests/skip
+    - t/lib/sample-tests/skip_nomsg
+    - t/lib/sample-tests/skipall
+    - t/lib/sample-tests/skipall_nomsg
+    - t/lib/sample-tests/switches
+    - t/lib/sample-tests/taint
+    - t/lib/sample-tests/todo
+    - t/lib/sample-tests/todo_inline
+    - t/lib/sample-tests/too_many
+    - t/lib/sample-tests/vms_nit
+    - t/lib/sample-tests/with_comments
+    - t/lib/Test/Simple/Catch.pm
+    - t/lib/Test/Simple/sample_tests/death.plx
+    - t/lib/Test/Simple/sample_tests/death_in_eval.plx
+    - t/lib/Test/Simple/sample_tests/extras.plx
+    - t/lib/Test/Simple/sample_tests/five_fail.plx
+    - t/lib/Test/Simple/sample_tests/last_minute_death.plx
+    - t/lib/Test/Simple/sample_tests/one_fail.plx
+    - t/lib/Test/Simple/sample_tests/pre_plan_death.plx
+    - t/lib/Test/Simple/sample_tests/require.plx
+    - t/lib/Test/Simple/sample_tests/success.plx
+    - t/lib/Test/Simple/sample_tests/too_few.plx
+    - t/lib/Test/Simple/sample_tests/two_fail.plx
+    - t/lib/TieIn.pm
+    - t/lib/TieOut.pm
+    - t/pod/find.t
+
index 1f22638..cb04d7c 100644 (file)
@@ -765,6 +765,9 @@ extras.install: perl$(EXE_EXT)
 .PHONY: install install-strip install-all install-verbose install-silent \
        no-install install.perl install.man install.html
 
+META.yml:      Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm
+       $(LDLIBPTH) ./miniperl -Ilib Porting/makemeta
+
 install-strip:
        $(MAKE) STRIPFLAGS=-s install
 
index 9c87803..20a14df 100644 (file)
 #
 
 use strict;
+use lib "Porting";
 
-use FindBin qw($Bin);
-require "$Bin/Maintainers.pl";
-use vars qw(%Modules %Maintainers);
+use Maintainers qw(show_results process_options);
 
-use Getopt::Long;
-use File::Find;
+show_results(process_options());
 
-sub usage {
-    print <<__EOF__;
-$0: Usage: $0 [[--maintainer M --module M --files]|file ...]
---maintainer M list all maintainers matching M
---module M     list all modules matching M
---files                list all files
-Matching is case-ignoring regexp, author matching is both by
-the short id and by the full name and email.  A "module" may
-not be just a module, it may be a file or files or a subdirectory.
-The options may be abbreviated to their unique prefixes
-__EOF__
-    exit(0);
-}
-
-my $Maintainer;
-my $Module;
-my $Files;
-
-usage()
-    unless
-    GetOptions(
-              'maintainer=s'   => \$Maintainer,
-              'module=s'       => \$Module,
-              'files'          => \$Files,
-              );
-
-my @Files = @ARGV;
-
-usage() if @Files && ($Maintainer || $Module || $Files);
-
-for my $mean ($Maintainer, $Module) {
-    warn "$0: Did you mean '$0 $mean'?\n"
-       if $mean && -e $mean && $mean ne '.' && !$Files;
-}
-
-warn "$0: Did you mean '$0 -mo $Maintainer'?\n"
-    if defined $Maintainer && exists $Modules{$Maintainer};
-
-warn "$0: Did you mean '$0 -ma $Module'?\n"
-    if defined $Module     && exists $Maintainers{$Module};
-
-sub get_module_pat {
-    my $m = shift;
-    split ' ', $Modules{$m}{FILES};
-}
-
-sub get_module_files {
-    my $m = shift;
-    sort { lc $a cmp lc $b }
-    map {
-       -f $_ ? # Files as-is.
-           $_ :
-           -d _ ? # Recurse into directories.
-           do {
-               my @files;
-               find(
-                    sub {
-                        push @files, $File::Find::name
-                            if -f $_;
-                    }, $_);
-               @files;
-           }
-       : glob($_) # The rest are globbable patterns.
-       } get_module_pat($m);
-}
-
-sub get_maintainer_modules {
-    my $m = shift;
-    sort { lc $a cmp lc $b }
-    grep { $Modules{$_}{MAINTAINER} eq $m }
-    keys %Modules;
-}
-
-if ($Maintainer) {
-    for my $m (sort keys %Maintainers) {
-       if ($m =~ /$Maintainer/io || $Maintainers{$m} =~ /$Maintainer/io) {
-           my @modules = get_maintainer_modules($m);
-           if ($Module) {
-               @modules = grep { /$Module/io } @modules;
-           }
-           if ($Files) {
-               my @files;
-               for my $module (@modules) {
-                   push @files, get_module_files($module);
-               }
-               printf "%-15s @files\n", $m;
-           } else {
-               if ($Module) {
-                   printf "%-15s @modules\n", $m;
-               } else {
-                   printf "%-15s $Maintainers{$m}\n", $m;
-               }
-           }
-       }
-    }
-} elsif ($Module) {
-    for my $m (sort { lc $a cmp lc $b } keys %Modules) {
-       if ($m =~ /$Module/io) {
-           if ($Files) {
-               my @files = get_module_files($m);
-               printf "%-15s @files\n", $m;
-           } else {
-               printf "%-15s $Modules{$m}{MAINTAINER}\n", $m;
-           }
-       }
-    }
-} elsif (@Files) {
-    my %ModuleByFile;
-
-    for (@Files) { s:^\./:: }
-
-    @ModuleByFile{@Files} = ();
-
-    # First try fast match.
-
-    my %ModuleByPat;
-    for my $module (keys %Modules) {
-       for my $pat (get_module_pat($module)) {
-           $ModuleByPat{$pat} = $module;
-       }
-    }
-    # Expand any globs.
-    my %ExpModuleByPat;
-    for my $pat (keys %ModuleByPat) {
-       if (-e $pat) {
-           $ExpModuleByPat{$pat} = $ModuleByPat{$pat};
-       } else {
-           for my $exp (glob($pat)) {
-               $ExpModuleByPat{$exp} = $ModuleByPat{$pat};
-           }
-       }
-    }
-    %ModuleByPat = %ExpModuleByPat;
-    for my $file (@Files) {
-       $ModuleByFile{$file} = $ModuleByPat{$file}
-           if exists $ModuleByPat{$file};
-    }
-
-    # If still unresolved files..
-    if (my @ToDo = grep { !defined $ModuleByFile{$_} } keys %ModuleByFile) {
-
-       # Cannot match what isn't there.
-       @ToDo = grep { -e $_ } @ToDo;
-
-       if (@ToDo) {
-           # Try prefix matching.
-
-           # Remove trailing slashes.
-           for (@ToDo) { s|/$|| }
-
-           my %ToDo;
-           @ToDo{@ToDo} = ();
-
-           for my $pat (keys %ModuleByPat) {
-               last unless keys %ToDo;
-               if (-d $pat) {
-                   my @Done;
-                   for my $file (keys %ToDo) {
-                       if ($file =~ m|^$pat|i) {
-                           $ModuleByFile{$file} = $ModuleByPat{$pat};
-                           push @Done, $file;
-                       }
-                   }
-                   delete @ToDo{@Done};
-               }
-           }
-       }
-    }
-
-    for my $file (@Files) {
-       if (defined $ModuleByFile{$file}) {
-           my $module     = $ModuleByFile{$file};
-           my $maintainer = $Modules{$ModuleByFile{$file}}{MAINTAINER};
-           printf "%-15s $module $maintainer $Maintainers{$maintainer}\n", $file;
-       } else {
-           printf "%-15s ?\n", $file;
-       }
-    }
-}
-else {
-    usage();
-}
 
index 3d04db7..27c07cf 100644 (file)
@@ -6,6 +6,8 @@
 # and in CPAN.  Those that have a CPAN existence, have the CPAN
 # attribute set to true.
 
+package Maintainers;
+
 %Maintainers =
        (
        'abergman'      => 'Arthur Bergman <abergman@cpan.org>',
diff --git a/Porting/Maintainers.pm b/Porting/Maintainers.pm
new file mode 100644 (file)
index 0000000..3cf4856
--- /dev/null
@@ -0,0 +1,228 @@
+#
+# Maintainers.pm - show information about maintainers
+#
+
+package Maintainers;
+
+use strict;
+
+use lib "Porting";
+
+require "Maintainers.pl";
+use vars qw(%Modules %Maintainers);
+
+use vars qw(@ISA @EXPORT_OK);
+@ISA = qw(Exporter);
+@EXPORT_OK = qw(%Modules %Maintainers
+               get_module_files get_module_pat
+               show_results process_options);
+require Exporter;
+
+use File::Find;
+use Getopt::Long;
+
+my %MANIFEST;
+if (open(MANIFEST, "MANIFEST")) {
+    while (<MANIFEST>) {
+       if (/^(\S+)\t+(.+)$/) {
+           $MANIFEST{$1}++;
+       }
+    }
+    close MANIFEST;
+} else {
+    die "$0: Failed to open MANIFEST for reading: $!\n";
+}
+
+sub get_module_pat {
+    my $m = shift;
+    split ' ', $Modules{$m}{FILES};
+}
+
+sub get_module_files {
+    my $m = shift;
+    sort { lc $a cmp lc $b }
+    map {
+       -f $_ ? # Files as-is.
+           $_ :
+           -d _ ? # Recurse into directories.
+           do {
+               my @files;
+               find(
+                    sub {
+                        push @files, $File::Find::name
+                            if -f $_ && exists $MANIFEST{$File::Find::name};
+                    }, $_);
+               @files;
+           }
+       : glob($_) # The rest are globbable patterns.
+       } get_module_pat($m);
+}
+
+sub get_maintainer_modules {
+    my $m = shift;
+    sort { lc $a cmp lc $b }
+    grep { $Modules{$_}{MAINTAINER} eq $m }
+    keys %Modules;
+}
+
+sub usage {
+    print <<__EOF__;
+$0: Usage: $0 [[--maintainer M --module M --files]|file ...]
+--maintainer M list all maintainers matching M
+--module M     list all modules matching M
+--files                list all files
+Matching is case-ignoring regexp, author matching is both by
+the short id and by the full name and email.  A "module" may
+not be just a module, it may be a file or files or a subdirectory.
+The options may be abbreviated to their unique prefixes
+__EOF__
+    exit(0);
+}
+
+my $Maintainer;
+my $Module;
+my $Files;
+
+sub process_options {
+    usage()
+       unless
+           GetOptions(
+                      'maintainer=s'   => \$Maintainer,
+                      'module=s'       => \$Module,
+                      'files'          => \$Files,
+                     );
+
+    my @Files = @ARGV;
+
+    usage() if @Files && ($Maintainer || $Module || $Files);
+
+    for my $mean ($Maintainer, $Module) {
+       warn "$0: Did you mean '$0 $mean'?\n"
+           if $mean && -e $mean && $mean ne '.' && !$Files;
+    }
+
+    warn "$0: Did you mean '$0 -mo $Maintainer'?\n"
+       if defined $Maintainer && exists $Modules{$Maintainer};
+
+    warn "$0: Did you mean '$0 -ma $Module'?\n"
+       if defined $Module     && exists $Maintainers{$Module};
+
+    return ($Maintainer, $Module, $Files, @Files);
+}
+
+sub show_results {
+    my ($Maintainer, $Module, $Files, @Files) = @_;
+
+    if ($Maintainer) {
+       for my $m (sort keys %Maintainers) {
+           if ($m =~ /$Maintainer/io || $Maintainers{$m} =~ /$Maintainer/io) {
+               my @modules = get_maintainer_modules($m);
+               if ($Module) {
+                   @modules = grep { /$Module/io } @modules;
+               }
+               if ($Files) {
+                   my @files;
+                   for my $module (@modules) {
+                       push @files, get_module_files($module);
+                   }
+                   printf "%-15s @files\n", $m;
+               } else {
+                   if ($Module) {
+                       printf "%-15s @modules\n", $m;
+                   } else {
+                       printf "%-15s $Maintainers{$m}\n", $m;
+                   }
+               }
+           }
+       }
+    } elsif ($Module) {
+       for my $m (sort { lc $a cmp lc $b } keys %Modules) {
+           if ($m =~ /$Module/io) {
+               if ($Files) {
+                   my @files = get_module_files($m);
+                   printf "%-15s @files\n", $m;
+               } else {
+                   printf "%-15s $Modules{$m}{MAINTAINER}\n", $m;
+               }
+           }
+       }
+    } elsif (@Files) {
+       my %ModuleByFile;
+
+       for (@Files) { s:^\./:: }
+
+       @ModuleByFile{@Files} = ();
+
+       # First try fast match.
+
+       my %ModuleByPat;
+       for my $module (keys %Modules) {
+           for my $pat (get_module_pat($module)) {
+               $ModuleByPat{$pat} = $module;
+           }
+       }
+       # Expand any globs.
+       my %ExpModuleByPat;
+       for my $pat (keys %ModuleByPat) {
+           if (-e $pat) {
+               $ExpModuleByPat{$pat} = $ModuleByPat{$pat};
+           } else {
+               for my $exp (glob($pat)) {
+                   $ExpModuleByPat{$exp} = $ModuleByPat{$pat};
+               }
+           }
+       }
+       %ModuleByPat = %ExpModuleByPat;
+       for my $file (@Files) {
+           $ModuleByFile{$file} = $ModuleByPat{$file}
+               if exists $ModuleByPat{$file};
+       }
+
+       # If still unresolved files...
+       if (my @ToDo = grep { !defined $ModuleByFile{$_} } keys %ModuleByFile) {
+
+           # Cannot match what isn't there.
+           @ToDo = grep { -e $_ } @ToDo;
+
+           if (@ToDo) {
+               # Try prefix matching.
+
+               # Remove trailing slashes.
+               for (@ToDo) { s|/$|| }
+
+               my %ToDo;
+               @ToDo{@ToDo} = ();
+
+               for my $pat (keys %ModuleByPat) {
+                   last unless keys %ToDo;
+                   if (-d $pat) {
+                       my @Done;
+                       for my $file (keys %ToDo) {
+                           if ($file =~ m|^$pat|i) {
+                               $ModuleByFile{$file} = $ModuleByPat{$pat};
+                               push @Done, $file;
+                           }
+                       }
+                       delete @ToDo{@Done};
+                   }
+               }
+           }
+       }
+
+       for my $file (@Files) {
+           if (defined $ModuleByFile{$file}) {
+               my $module     = $ModuleByFile{$file};
+               my $maintainer = $Modules{$ModuleByFile{$file}}{MAINTAINER};
+               printf "%-15s $module $maintainer $Maintainers{$maintainer}\n", $file;
+           } else {
+               printf "%-15s ?\n", $file;
+           }
+       }
+    }
+    else {
+       usage();
+    }
+}
+
+1;
+
diff --git a/Porting/makemeta b/Porting/makemeta
new file mode 100644 (file)
index 0000000..9889c8e
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/perl -w
+
+use strict;
+use warnings;
+use lib "Porting";
+
+my $file = "META.yml";
+die "$0: will not override $file, delete it first.\n" if -e $file;
+
+use Maintainers qw(%Modules get_module_files get_module_pat);
+
+my @CPAN  = grep { $Modules{$_}{CPAN} } keys %Modules;
+my @files = map { get_module_files($_) } @CPAN;
+my @dirs  = grep { -d $_ } map { get_module_pat($_) } @CPAN;
+
+my $files = join '', map { "    - $_\n" } sort { lc $a cmp lc $b } @files;
+my $dirs  = join '', map { "    - $_\n" } sort { lc $a cmp lc $b } @dirs;
+
+open my $fh, ">$file" or die "Can't open $file: $!";
+
+print $fh <<"EOI";
+name: perl
+version: $]
+abstract: Practical Extraction and Reporting Language
+author: perl5-porters\@perl.org
+license: perl
+distribution_type: core
+private:
+  directory:
+$dirs
+  file:
+$files
+EOI
+
+close $fh;
+