#!../miniperl
+use strict;
+use warnings;
+
$ENV{LC_ALL} = 'C';
-open (OUT, ">perlmodlib.tmp") or die $!;
-my (@pragma, @mod, @MANIFEST);
+use FindBin;
+chdir $FindBin::Bin or die "$0: Can't chdir $FindBin::Bin: $!";
+
+my $Quiet = @ARGV && $ARGV[0] eq '-q';
+
+open (OUT, ">perlmodlib.pod") or die $!;
+my (@pragma, @mod, @files);
+
+# MANIFEST itself is Unix style filenames, so we have to assume that Unix style
+# filenames will work.
open (MANIFEST, "../MANIFEST") or die $!;
-@MANIFEST = grep !m</(?:t|demo)/>, <MANIFEST>;
-push @MANIFEST, 'lib/Config.pm', 'lib/Errno.pm';
-
-for (@MANIFEST) {
- my $filename;
- next unless s|^lib/|| or m|^ext/|;
- ($filename) = m|^(\S+)|;
- $filename =~ s|^[^/]+/|| if $filename =~ s|^ext/||;
- next unless $filename =~ m!\.p(m|od)$!;
- next unless open (MOD, "../lib/$filename");
-
-
- my ($name, $thing);
- my $foundit=0;
- {
- local $/="";
- while (<MOD>) {
- next unless /^=head1 NAME/;
- $foundit++;
- last;
- }
- }
- unless ($foundit) {
- warn "$filename missing =head1 NAME (okay if there is respective .pod)\n";
- next;
- }
- my $title = <MOD>;
- chomp($title);
- close MOD;
-
- my $perlname = $filename;
- $perlname =~ s!\.p(m|od)$!!;
- $perlname =~ s!/!::!g;
-
- ($name, $thing) = split / --? /, $title, 2;
-
- unless ($name and $thing) {
- warn "$filename missing name\n" unless $name;
- warn "$filename missing thing\n" unless $thing;
- next;
- }
-
-
- $thing =~ s/^perl pragma to //i;
- $thing = ucfirst($thing);
- $title = "=item $perlname\n\n$thing\n\n";
-
- if ($filename =~ /[A-Z]/) {
- push @mod, $title;
- } else {
- push @pragma, $title;
- }
+@files = grep m#(?:\.pm|\.pod|_pm\.PL)#, map {s/\s.*//s; $_}
+ grep {m#^lib# || m#^ext#} grep !m#/(?:t|demo)/#, <MANIFEST>;
+
+my %exceptions = (
+ 'abbrev' => 'Text::Abbrev',
+ 'carp' => 'Carp',
+ 'getopt' => 'Getopt::Std',
+ 'B<CGI::Carp>' => 'CGI::Carp',
+ 'ModuleInfo' => 'Module::Build::ModuleInfo',
+ '$notes_name' => 'Module::Build::Notes',
+ 'Encode::MIME::NAME' => 'Encode::MIME::Name',
+ 'libnetFAQ' => 'Net::libnetFAQ',
+);
+
+for my $filename (@files) {
+ unless (open MOD, '<', "../$filename") {
+ warn "Couldn't open ../$filename: $!";
+ next;
+ }
+
+ my ($name, $thing);
+ my $foundit = 0;
+ {
+ local $/ = "";
+ while (<MOD>) {
+ next unless /^=head1 NAME/;
+ $foundit++;
+ last;
+ }
+ }
+ unless ($foundit) {
+ warn "$filename missing =head1 NAME (OK if respective .pod exists)\n"
+ unless $Quiet;
+ next;
+ }
+ my $title = <MOD>;
+ chomp $title;
+ close MOD;
+
+ ($name, $thing) = split / --? /, $title, 2;
+
+ unless ($name and $thing) {
+ warn "$filename missing name\n" unless $name;
+ warn "$filename missing thing\n" unless $thing or $Quiet;
+ next;
+ }
+
+ $name =~ s/[^A-Za-z0-9_:\$<>].*//;
+ $name = $exceptions{$name} || $name;
+ $thing =~ s/^perl pragma to //i;
+ $thing = ucfirst $thing;
+ $title = "=item $name\n\n$thing\n\n";
+
+ if ($name =~ /[A-Z]/) {
+ push @mod, $title;
+ } else {
+ push @pragma, $title;
+ }
}
+# Much easier to special case it like this than special case the depending on
+# and parsing lib/Config.pod, or special case opening configpm and finding its
+# =head1 (which is not found with the $/="" above)
+push @mod, <<'CONFIG';
+=item Config
+
+Access Perl configuration information
+
+CONFIG
+
print OUT <<'EOF';
=for maintainers
Generated by perlmodlib.PL -- DO NOT EDIT!
perlmodlib - constructing new Perl modules and finding existing ones
-=head1 DESCRIPTION
-
=head1 THE PERL MODULE LIBRARY
-Many modules are included the Perl distribution. These are described
+Many modules are included in the Perl distribution. These are described
below, and all end in F<.pm>. You may discover compiled library
-file (usually ending in F<.so>) or small pieces of modules to be
+files (usually ending in F<.so>) or small pieces of modules to be
autoloaded (ending in F<.al>); these were automatically generated
by the installation process. You may also discover files in the
library directory that end in either F<.pl> or F<.ph>. These are
manner with respect to namespace pollution because they use the
Exporter module. See their own documentation for details.
+It's possible that not all modules listed below are installed on your
+system. For example, the GDBM_File module will not be installed if you
+don't have the gdbm library.
+
=over 12
EOF
To find out I<all> modules installed on your system, including
those without documentation or outside the standard release,
-just do this:
+just use the following command (under the default win32 shell,
+double quotes should be used instead of single quotes).
- % find `perl -e 'print "@INC"'` -name '*.pm' -print
+ % perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
+ 'find { wanted => sub { print canonpath $_ if /\.pm\z/ },
+ no_chdir => 1 }, @INC'
+(The -T is here to prevent '.' from being listed in @INC.)
They should all have their own documentation installed and accessible
via your system man(1) command. If you do not have a B<find>
program, you can use the Perl B<find2perl> program instead, which
to fix your manpath. See L<perl> for details. If you have no
system B<man> command, you might try the B<perldoc> program.
+Note also that the command C<perldoc perllocal> gives you a (possibly
+incomplete) list of the modules that have been further installed on
+your system. (The perllocal.pod file is updated by the standard MakeMaker
+install process.)
+
=head2 Extension Modules
Extension modules are written in C (or a mix of Perl and C). They
for adequate testing and configuration across the multitude of
platforms on which Perl was beta-tested. You are encouraged to
look for them on CPAN (described below), or using web search engines
-like Alta Vista or Deja News.
+like Alta Vista or Google.
=head1 CPAN
=back
-The list of the registered CPAN sites as of this writing follows.
+The list of the registered CPAN sites follows.
Please note that the sorting order is alphabetical on fields:
Continent
and thus the North American servers happen to be listed between the
European and the South American sites.
-You should try to choose one close to you.
+Registered CPAN sites
=head2 Africa
=item South Africa
- ftp://ftp.is.co.za/programming/perl/CPAN/
- ftp://ftp.mweb.co.za/pub/mirrors/cpan/
+ http://cpan.mirror.ac.za/
+ ftp://cpan.mirror.ac.za/
+ http://mirror.is.co.za/pub/cpan/
+ ftp://ftp.is.co.za/pub/cpan/
ftp://ftp.saix.net/pub/CPAN/
- ftp://ftp.sun.ac.za/CPAN/CPAN/
=back
=over 4
-=item China
+=item Hong Kong
- ftp://freesoft.cei.gov.cn/pub/languages/perl/CPAN/
- http://www2.linuxforum.net/mirror/CPAN/
- http://cpan.shellhung.org/
- ftp://ftp.shellhung.org/pub/CPAN
+ http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
+ ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
+ http://mirrors.geoexpat.com/cpan/
=item India
- http://cpan.in.freeos.com
- ftp://cpan.in.freeos.com/pub/CPAN/
+ http://perlmirror.indialinks.com/
=item Indonesia
- http://cpan.itb.web.id/
- ftp://mirrors.piksi.itb.ac.id/CPAN/
- http://cpan.cbn.net.id/
- ftp://ftp.cbn.net.id/mirror/CPAN
- http://CPAN.mweb.co.id/
- ftp://ftp.mweb.co.id/pub/languages/perl/CPAN/
-
-=item Israel
-
- http://www.iglu.org.il:/pub/CPAN/
- ftp://ftp.iglu.org.il/pub/CPAN/
- http://cpan.lerner.co.il/
- http://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
- ftp://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
+ http://cpan.biz.net.id/
+ http://komo.vlsm.org/CPAN/
+ ftp://komo.vlsm.org/CPAN/
+ http://cpan.pesat.net.id/
+ http://mirror.unej.ac.id/cpan/
+ ftp://mirror.unej.ac.id/cpan/
=item Japan
ftp://ftp.u-aizu.ac.jp/pub/CPAN
- ftp://ftp.kddlabs.co.jp/CPAN/
- http://mirror.nucba.ac.jp/mirror/Perl/
- ftp://mirror.nucba.ac.jp/mirror/Perl/
- ftp://ftp.meisei-u.ac.jp/pub/CPAN/
- ftp://ftp.ayamura.org/pub/CPAN/
- ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
+ ftp://ftp.kddilabs.jp/CPAN/
+ http://ftp.nara.wide.ad.jp/pub/CPAN/
+ ftp://ftp.nara.wide.ad.jp/pub/CPAN/
+ http://ftp.jaist.ac.jp/pub/CPAN/
+ ftp://ftp.jaist.ac.jp/pub/CPAN/
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
+ http://ftp.riken.jp/lang/CPAN/
+ ftp://ftp.riken.jp/lang/CPAN/
+ http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
+ ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
-=item Korea
+=item Kazakhstan
- http://mirror.Mazic.org/pub/CPAN
- ftp://mirror.Mazic.org/pub/CPAN
+ http://mirror.linuxiso.kz/CPAN/
-=item Philippines
+=item Republic of Korea
- http://www.adzu.edu.ph/CPAN
+ http://ftp.kaist.ac.kr/pub/CPAN
+ ftp://ftp.kaist.ac.kr/pub/CPAN
+ http://cpan.mirror.cdnetworks.com/
+ ftp://cpan.mirror.cdnetworks.com/CPAN/
+ http://cpan.sarang.net/
+ ftp://cpan.sarang.net/CPAN/
-=item Russian Federation
-
- http://cpan.tomsk.ru
- ftp://cpan.tomsk.ru/pub/CPAN
-
-=item Saudi Arabia
+=item Russia
- ftp://ftp.isu.net.sa/pub/CPAN/
+ http://cpan.tomsk.ru/
+ ftp://cpan.tomsk.ru/
=item Singapore
- http://cpan.hjc.edu.sg
http://mirror.averse.net/pub/CPAN
ftp://mirror.averse.net/pub/CPAN
-
-=item South Korea
-
- http://CPAN.bora.net/
- ftp://ftp.bora.net/pub/CPAN/
- http://ftp.kornet.net/pub/CPAN/
- ftp://ftp.kornet.net/pub/CPAN/
- ftp://ftp.nuri.net/pub/CPAN/
- http://ftp.xgate.co.kr/cpan/
- ftp://ftp.xgate.co.kr/pub/mirror/CPAN
+ http://cpan.mirror.choon.net/
+ http://cpan.oss.eznetsols.org
+ ftp://ftp.oss.eznetsols.org/cpan
=item Taiwan
- ftp://ftp.nctu.edu.tw/UNIX/perl/CPAN
- ftp://ftp.ee.ncku.edu.tw/pub/perl/CPAN/
- ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/
- http://ftp.tku.edu.tw/pub/CPAN/
- ftp://ftp.tku.edu.tw/pub/CPAN/
+ http://ftp.cse.yzu.edu.tw/pub/CPAN/
+ ftp://ftp.cse.yzu.edu.tw/pub/CPAN/
+ http://cpan.nctu.edu.tw/
+ ftp://cpan.nctu.edu.tw/
+ ftp://ftp.ncu.edu.tw/CPAN/
+ http://cpan.cdpa.nsysu.edu.tw/
+ ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
+ http://cpan.stu.edu.tw
+ ftp://ftp.stu.edu.tw/CPAN
+ http://ftp.stu.edu.tw/CPAN
+ ftp://ftp.stu.edu.tw/pub/CPAN
+ http://cpan.cs.pu.edu.tw/
+ ftp://cpan.cs.pu.edu.tw/pub/CPAN
=item Thailand
- ftp://ftp.loxinfo.co.th/pub/cpan/
- ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
+ http://mirrors.issp.co.th/cpan/
+ ftp://mirrors.issp.co.th/cpan/
+
+=item Turkey
+
+ http://cpan.gazi.edu.tr/
+ http://cpan.ulak.net.tr
+ ftp://ftp.ulak.net.tr/pub/CPAN
+
+=item Viet Nam
+
+ http://mirror-fpt-telecom.fpt.net/cpan/
+ ftp://mirror-fpt-telecom.fpt.net/cpan/
=back
=item Costa Rica
- ftp://ftp.linux.co.cr/mirrors/CPAN/
- http://ftp.ucr.ac.cr/Unix/CPAN/
- ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
+ http://mirrors.ucr.ac.cr/CPAN/
+ ftp://mirrors.ucr.ac.cr/CPAN/
=back
=item Austria
- ftp://ftp.tuwien.ac.at/pub/CPAN/
+ http://cpan.inode.at/
+ ftp://cpan.inode.at
+ http://gd.tuwien.ac.at/languages/perl/CPAN/
+ ftp://gd.tuwien.ac.at/pub/CPAN/
=item Belgium
+ http://ftp.belnet.be/mirror/ftp.cpan.org/
+ ftp://ftp.belnet.be/mirror/ftp.cpan.org/
http://ftp.easynet.be/pub/CPAN/
- ftp://ftp.easynet.be/pub/CPAN/
- http://cpan.skynet.be
- ftp://ftp.skynet.be/pub/CPAN
- ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
+ http://cpan.weepee.org/
+ http://cpan.fluoline.net/
+
+=item Bosnia and Herzegovina
+
+ http://cpan.blic.net/
=item Bulgaria
- http://cpan.lirex.net/
- ftp://ftp.lirex.net/pub/mirrors/CPAN
+ http://cpan.cbox.biz/
+ ftp://cpan.cbox.biz/cpan/
+ http://cpan.digsys.bg/
+ ftp://ftp.digsys.bg/pub/CPAN
=item Croatia
- http://ftp.linux.hr/pub/CPAN/
- ftp://ftp.linux.hr/pub/CPAN/
+ http://ftp.carnet.hr/pub/CPAN/
+ ftp://ftp.carnet.hr/pub/CPAN/
=item Czech Republic
- http://ftp.fi.muni.cz/pub/CPAN/
ftp://ftp.fi.muni.cz/pub/CPAN/
- ftp://sunsite.mff.cuni.cz/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
+ http://archive.cpan.cz/
=item Denmark
- http://mirrors.sunsite.dk/cpan/
- ftp://sunsite.dk/mirrors/cpan/
- http://cpan.cybercity.dk
- http://www.cpan.dk/CPAN/
- ftp://www.cpan.dk/ftp.cpan.org/CPAN/
-
-=item Estonia
-
- ftp://ftp.ut.ee/pub/languages/perl/CPAN/
+ http://mirrors.dotsrc.org/cpan
+ ftp://mirrors.dotsrc.org/cpan/
+ http://www.cpan.dk/
+ http://mirror.uni-c.dk/pub/CPAN/
=item Finland
ftp://ftp.funet.fi/pub/languages/perl/CPAN/
- http://cpan.kpnqwest.fi/
+ http://mirror.eunet.fi/CPAN
=item France
- http://ftp.u-paris10.fr/perl/CPAN
- ftp://ftp.u-paris10.fr/perl/CPAN
- http://cpan.mirrors.easynet.fr/
- ftp://cpan.mirrors.easynet.fr/pub/ftp.cpan.org/
- ftp://ftp.club-internet.fr/pub/perl/CPAN/
- http://fr.cpan.org/
+ http://cpan.enstimac.fr/
+ ftp://ftp.inria.fr/pub/CPAN/
+ http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
+ ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
ftp://ftp.lip6.fr/pub/perl/CPAN/
- ftp://ftp.oleane.net/pub/mirrors/CPAN/
- ftp://ftp.pasteur.fr/pub/computing/CPAN/
http://mir2.ovh.net/ftp.cpan.org
ftp://mir1.ovh.net/ftp.cpan.org
+ http://cpan.miroir-francais.fr/
+ ftp://miroir-francais.fr/pub/cpan/
+ ftp://ftp.oleane.net/pub/CPAN/
+ http://ftp.crihan.fr/mirrors/ftp.cpan.org/
+ ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
http://ftp.u-strasbg.fr/CPAN
ftp://ftp.u-strasbg.fr/CPAN
http://cpan.cict.fr/
ftp://cpan.cict.fr/pub/CPAN/
- ftp://ftp.uvsq.fr/pub/perl/CPAN/
=item Germany
- ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/
+ ftp://ftp.fu-berlin.de/unix/languages/perl/
+ http://mirrors.softliste.de/cpan/
+ ftp://ftp.rub.de/pub/CPAN/
+ http://www.planet-elektronik.de/CPAN/
+ http://ftp.hosteurope.de/pub/CPAN/
+ ftp://ftp.hosteurope.de/pub/CPAN/
+ http://www.mirrorspace.org/cpan/
+ http://mirror.netcologne.de/cpan/
+ ftp://mirror.netcologne.de/cpan/
ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
- ftp://ftp.uni-erlangen.de/pub/source/CPAN/
- ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/CPAN
- http://pandemonium.tiscali.de/pub/CPAN/
- ftp://pandemonium.tiscali.de/pub/CPAN/
+ http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
+ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
+ http://mirrors.zerg.biz/cpan/
http://ftp.gwdg.de/pub/languages/perl/CPAN/
ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
- ftp://ftp.uni-hamburg.de/pub/soft/lang/perl/CPAN/
- ftp://ftp.leo.org/pub/CPAN/
+ http://dl.ambiweb.de/mirrors/ftp.cpan.org/
+ http://cpan.mirror.clusters.kg/
+ http://cpan.mirror.iphh.net/
+ ftp://cpan.mirror.iphh.net/pub/CPAN/
+ http://cpan.mirroring.de/
+ http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
+ ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
+ http://ftp.cw.net/pub/CPAN/
+ ftp://ftp.cw.net/pub/CPAN/
+ http://cpan.cpantesters.org/
+ ftp://cpan.cpantesters.org/CPAN/
+ http://cpan.mirrored.de/
+ ftp://mirror.petamem.com/CPAN/
http://cpan.noris.de/
ftp://cpan.noris.de/pub/CPAN/
ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
=item Greece
- ftp://ftp.acn.gr/pub/lang/perl/CPAN
ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
ftp://ftp.ntua.gr/pub/lang/perl/
+ http://cpan.cc.uoc.gr/
+ ftp://ftp.cc.uoc.gr/mirrors/CPAN/
=item Hungary
- http://cpan.artifact.hu/
- ftp://cpan.artifact.hu/CPAN/
- http://ftp.kfki.hu/packages/perl/CPAN/
- ftp://ftp.kfki.hu/pub/packages/perl/CPAN/
+ http://cpan.mirrors.enexis.hu/
+ ftp://cpan.mirrors.enexis.hu/mirrors/cpan/
+ http://cpan.hu/
=item Iceland
=item Ireland
- http://cpan.indigo.ie/
- ftp://cpan.indigo.ie/pub/CPAN/
- http://sunsite.compapp.dcu.ie/pub/perl/
- ftp://sunsite.compapp.dcu.ie/pub/perl/
+ http://ftp.esat.net/pub/languages/perl/CPAN/
+ ftp://ftp.esat.net/pub/languages/perl/CPAN/
+ http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+ ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
=item Italy
- http://cpan.nettuno.it/
- http://gusp.dyndns.org/CPAN/
- ftp://gusp.dyndns.org/pub/CPAN
- http://softcity.iol.it/cpan
- ftp://softcity.iol.it/pub/cpan
- ftp://ftp.unina.it/pub/Other/CPAN/CPAN/
- ftp://ftp.unipi.it/pub/mirror/perl/CPAN/
- ftp://cis.uniRoma2.it/CPAN/
- ftp://ftp.edisontel.it/pub/CPAN_Mirror/
- ftp://ftp.flashnet.it/pub/CPAN/
+ http://bo.mirror.garr.it/mirrors/CPAN/
+ http://cpan.panu.it/
+ ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
+ http://cpan.fastbull.org/
=item Latvia
=item Lithuania
- ftp://ftp.unix.lt/pub/CPAN/
+ http://ftp.litnet.lt/pub/CPAN/
+ ftp://ftp.litnet.lt/pub/CPAN/
+
+=item Malta
+
+ http://cpan.waldonet.net.mt/
=item Netherlands
+ ftp://ftp.quicknet.nl/pub/CPAN/
+ http://mirror.hostfuss.com/CPAN/
+ ftp://mirror.hostfuss.com/CPAN/
+ http://mirrors3.kernel.org/cpan/
+ ftp://mirrors3.kernel.org/pub/CPAN/
+ http://cpan.osmirror.nl/
+ ftp://ftp.osmirror.nl/pub/cpan/
+ http://cpan.mirror.versatel.nl/
+ ftp://ftp.mirror.versatel.nl/cpan/
ftp://download.xs4all.nl/pub/mirror/CPAN/
- ftp://ftp.nl.uu.net/pub/CPAN/
- ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
- http://cpan.cybercomm.nl/
- ftp://mirror.cybercomm.nl/pub/CPAN
+ http://mirror.leaseweb.com/CPAN/
+ ftp://mirror.leaseweb.com/CPAN/
ftp://ftp.cpan.nl/pub/CPAN/
- http://ftp.easynet.nl/mirror/CPAN
- ftp://ftp.easynet.nl/mirror/CPAN
http://archive.cs.uu.nl/mirror/CPAN/
ftp://ftp.cs.uu.nl/mirror/CPAN/
+ http://https://luxitude.net/cpan/
=item Norway
=item Poland
- ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN/
- ftp://ftp.mega.net.pl/pub/mirrors/ftp.perl.com/
- ftp://ftp.man.torun.pl/pub/doc/CPAN/
+ http://mirror.icis.pcz.pl/CPAN/
+ ftp://mirror.icis.pcz.pl/CPAN/
+ http://piotrkosoft.net/pub/mirrors/CPAN/
+ ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
+ http://ftp.man.poznan.pl/pub/CPAN
+ ftp://ftp.man.poznan.pl/pub/CPAN
ftp://sunsite.icm.edu.pl/pub/CPAN/
+ ftp://ftp.tpnet.pl/d4/CPAN/
=item Portugal
- ftp://ftp.ua.pt/pub/CPAN/
- ftp://perl.di.uminho.pt/pub/CPAN/
http://cpan.dei.uc.pt/
ftp://ftp.dei.uc.pt/pub/CPAN
ftp://ftp.ist.utl.pt/pub/CPAN/
+ http://cpan.perl.pt/
http://cpan.ip.pt/
ftp://cpan.ip.pt/pub/cpan/
- ftp://ftp.netc.pt/pub/CPAN/
- ftp://ftp.up.pt/pub/CPAN
+ http://mirrors.nfsi.pt/CPAN/
+ ftp://mirrors.nfsi.pt/pub/CPAN/
+ http://cpan.dcc.fc.up.pt/
=item Romania
- ftp://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/
- ftp://ftp.dntis.ro/pub/cpan/
- ftp://ftp.dnttm.ro/pub/CPAN/
- ftp://ftp.lasting.ro/pub/CPAN
- ftp://ftp.timisoara.roedu.net/mirrors/CPAN/
+ http://ftp.astral.ro/pub/CPAN/
+ ftp://ftp.astral.ro/pub/CPAN/
+ ftp://ftp.lug.ro/CPAN
+ http://mirrors.xservers.ro/CPAN/
+ http://mirrors.hostingromania.ro/ftp.cpan.org/
+ ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/
+ ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
+ ftp://ftp.ambra.ro/pub/CPAN
=item Russia
- ftp://ftp.chg.ru/pub/lang/perl/CPAN/
+ ftp://ftp.aha.ru/CPAN/
http://cpan.rinet.ru/
ftp://cpan.rinet.ru/pub/mirror/CPAN/
- ftp://ftp.aha.ru/pub/CPAN/
- http://cpan.sai.msu.ru/
- ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/
+ ftp://ftp.SpringDaemons.com/pub/CPAN/
+ http://cpan.nx1.ru/
+ ftp://cpan.nx1.ru/
+ http://mirror.rol.ru/CPAN/
+ http://ftp.silvernet.ru/CPAN/
+ http://ftp.spbu.ru/CPAN/
+ ftp://ftp.spbu.ru/CPAN/
=item Slovakia
- http://ftp.cvt.stuba.sk/pub/CPAN/
- ftp://ftp.cvt.stuba.sk/pub/CPAN/
+ http://cpan.fyxm.net/
=item Slovenia
- ftp://ftp.arnes.si/software/perl/CPAN/
+ http://www.klevze.si/cpan
=item Spain
- http://cpan.imasd.elmundo.es/
+ http://osl.ugr.es/CPAN/
ftp://ftp.rediris.es/mirror/CPAN/
- ftp://ftp.etse.urv.es/pub/perl/
+ http://ftp.gui.uva.es/sites/cpan.org/
+ ftp://ftp.gui.uva.es/sites/cpan.org/
=item Sweden
- http://ftp.du.se/CPAN/
- ftp://ftp.du.se/pub/CPAN/
- ftp://mirror.dataphone.se/pub/CPAN
- ftp://ftp.sunet.se/pub/lang/perl/CPAN/
+ http://mirrors4.kernel.org/cpan/
+ ftp://mirrors4.kernel.org/pub/CPAN/
=item Switzerland
- ftp://ftp.danyk.ch/CPAN/
- ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
-
-=item Turkey
-
- http://ftp.ulak.net.tr/perl/CPAN/
- ftp://ftp.ulak.net.tr/perl/CPAN
- ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
+ http://cpan.mirror.solnet.ch/
+ ftp://ftp.solnet.ch/mirror/CPAN/
+ http://mirror.switch.ch/ftp/mirror/CPAN/
+ ftp://mirror.switch.ch/mirror/CPAN/
=item Ukraine
+ http://cpan.makeperl.org/
+ ftp://cpan.makeperl.org/pub/CPAN
http://cpan.org.ua/
- ftp://cpan.org.ua/
- ftp://ftp.perl.org.ua/pub/CPAN/
+ http://no-more.kiev.ua/CPAN/
+ ftp://no-more.kiev.ua/pub/CPAN/
+ http://cpan.gafol.net/
+ ftp://ftp.gafol.net/pub/cpan/
=item United Kingdom
- http://www.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN
- ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
- http://cpan.teleglobe.net/
- ftp://cpan.teleglobe.net/pub/CPAN
- http://cpan.crazygreek.co.uk
+ http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
+ ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
+ http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
+ ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
+ http://www.mirror.8086.net/sites/CPAN/
+ ftp://ftp.mirror.8086.net/sites/CPAN/
+ http://cpan.mirror.anlx.net/
+ ftp://ftp.mirror.anlx.net/CPAN/
+ http://mirror.bytemark.co.uk/CPAN/
+ ftp://mirror.bytemark.co.uk/CPAN/
+ http://cpan.etla.org/
+ ftp://cpan.etla.org/pub/CPAN
ftp://ftp.demon.co.uk/pub/CPAN/
- http://cpan.m.flirble.org/
- ftp://ftp.flirble.org/pub/languages/perl/CPAN/
- ftp://ftp.plig.org/pub/CPAN/
- http://mirror.uklinux.net/CPAN/
- ftp://mirror.uklinux.net/pub/CPAN/
- http://cpan.mirrors.clockerz.net/
- ftp://ftp.clockerz.net/pub/CPAN/
- ftp://usit.shef.ac.uk/pub/packages/CPAN/
+ http://mirror.sov.uk.goscomb.net/CPAN/
+ ftp://mirror.sov.uk.goscomb.net/pub/CPAN/
+ http://ftp.plig.net/pub/CPAN/
+ ftp://ftp.plig.net/pub/CPAN/
+ http://ftp.ticklers.org/pub/CPAN/
+ ftp://ftp.ticklers.org/pub/CPAN/
+ http://cpan.mirrors.uk2.net/
+ ftp://mirrors.uk2.net/pub/CPAN/
+ http://mirror.ox.ac.uk/sites/www.cpan.org/
+ ftp://mirror.ox.ac.uk/sites/www.cpan.org/
=back
=over 4
-=item Alberta
+=item Bahamas
- http://sunsite.ualberta.ca/pub/Mirror/CPAN/
- ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
+ http://www.securehost.com/mirror/CPAN/
-=item Manitoba
+=item Canada
+ http://cpan.justanotherperlhacker.com/pub/CPAN/
+ ftp://cpan.justanotherperlhacker.com/pub/CPAN/
+ http://cpan.arcticnetwork.ca
+ ftp://mirror.arcticnetwork.ca/pub/CPAN
+ http://cpan.sunsite.ualberta.ca/
+ ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
http://theoryx5.uwinnipeg.ca/pub/CPAN/
ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
-
-=item Nova Scotia
-
- ftp://cpan.chebucto.ns.ca/pub/CPAN/
-
-=item Ontario
-
- ftp://ftp.crc.ca/pub/CPAN/
-
-=item Quebec
-
- http://cpan.mirror.smartworker.org/
+ http://arwen.cs.dal.ca/mirror/CPAN/
+ ftp://arwen.cs.dal.ca/pub/mirror/CPAN/
+ http://CPAN.mirror.rafal.ca/
+ ftp://CPAN.mirror.rafal.ca/pub/CPAN/
+ ftp://ftp.nrc.ca/pub/CPAN/
+ http://mirror.csclub.uwaterloo.ca/pub/CPAN/
+ ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/
=item Mexico
- http://cpan.azc.uam.mx
- ftp://cpan.azc.uam.mx/mirrors/CPAN
- http://cpan.unam.mx/
- ftp://cpan.unam.mx/pub/CPAN
http://www.msg.com.mx/CPAN/
ftp://ftp.msg.com.mx/pub/CPAN/
-=back
-
-=head2 United States
+=item United States
-=over 4
+=over 8
=item Alabama
=item California
+ http://cpan.knowledgematters.net/
+ http://cpan.binkerton.com/
http://cpan.develooper.com/
- http://www.cpan.org/
- ftp://cpan.valueclick.com/pub/CPAN/
http://mirrors.gossamer-threads.com/CPAN
- ftp://cpan.nas.nasa.gov/pub/perl/CPAN/
+ http://cpan.schatt.com/
http://mirrors.kernel.org/cpan/
ftp://mirrors.kernel.org/pub/CPAN
- http://cpan.digisle.net/
- ftp://cpan.digisle.net/pub/CPAN
+ http://mirrors2.kernel.org/cpan/
+ ftp://mirrors2.kernel.org/pub/CPAN/
+ http://cpan.mirrors.redwire.net/
+ http://cpan.mirror.facebook.net/
+ http://mirrors1.kernel.org/cpan/
+ ftp://mirrors1.kernel.org/pub/CPAN/
+ http://cpan-sj.viaverio.com/
+ ftp://cpan-sj.viaverio.com/pub/CPAN/
http://www.perl.com/CPAN/
- http://download.sourceforge.net/mirrors/CPAN/
-
-=item Colorado
-
- ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
-
-=item Delaware
-
- http://ftp.lug.udel.edu/pub/CPAN
- ftp://ftp.lug.udel.edu/pub/CPAN
-
-=item District of Columbia
-
- ftp://ftp.dc.aleron.net/pub/CPAN/
+ http://cpan.yahoo.com/
=item Florida
ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
- http://mirror.csit.fsu.edu/pub/CPAN/
- ftp://mirror.csit.fsu.edu/pub/CPAN/
- http://cpan.mirrors.nks.net/
+ http://mirror.atlantic.net/pub/CPAN/
+ ftp://mirror.atlantic.net/pub/CPAN/
+ http://mirror.candidhosting.com/pub/CPAN
+ ftp://mirror.candidhosting.com/pub/CPAN
+
+=item Idaho
+
+ http://mirror.its.uidaho.edu/pub/cpan/
+ ftp://mirror.its.uidaho.edu/cpan/
=item Illinois
- http://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
- ftp://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
+ http://cpan.mirrors.hoobly.com/
+ http://cpan.uchicago.edu/pub/CPAN/
+ ftp://cpan.uchicago.edu/pub/CPAN/
+ http://mirrors.servercentral.net/CPAN/
+ http://www.stathy.com/CPAN/
+ ftp://www.stathy.com/CPAN/
=item Indiana
ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
http://cpan.netnitco.net/
ftp://cpan.netnitco.net/pub/mirrors/CPAN/
- http://archive.progeny.com/CPAN/
- ftp://archive.progeny.com/CPAN/
- ftp://cpan.in-span.net/
- http://csociety-ftp.ecn.purdue.edu/pub/CPAN
- ftp://csociety-ftp.ecn.purdue.edu/pub/CPAN
-
-=item Kentucky
-
- http://cpan.uky.edu/
- ftp://cpan.uky.edu/pub/CPAN/
+ http://ftp.ndlug.nd.edu/pub/perl/
+ ftp://ftp.ndlug.nd.edu/pub/perl/
+ http://fx.saintjoe.edu/pub/CPAN
=item Massachusetts
ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
- http://cpan.mirrors.netnumina.com/
- ftp://mirrors.netnumina.com/cpan/
=item Michigan
- ftp://cpan.cse.msu.edu/
+ http://ftp.wayne.edu/cpan/
+ ftp://ftp.wayne.edu/cpan/
+
+=item Minnesota
+
+ http://cpan.msi.umn.edu/
=item New Jersey
- ftp://ftp.cpanel.net/pub/CPAN/
- http://cpan.teleglobe.net/
- ftp://cpan.teleglobe.net/pub/CPAN
+ http://mirror.datapipe.net/CPAN/
+ ftp://mirror.datapipe.net/pub/CPAN/
=item New York
- ftp://ftp.exobit.org/pub/perl/CPAN
+ http://mirrors.24-7-solutions.net/pub/CPAN/
+ ftp://mirrors.24-7-solutions.net/pub/CPAN/
+ http://mirror.cc.columbia.edu/pub/software/cpan/
+ ftp://mirror.cc.columbia.edu/pub/software/cpan/
http://cpan.belfry.net/
- http://cpan.thepirtgroup.com/
- ftp://cpan.thepirtgroup.com/
- ftp://ftp.stealth.net/pub/CPAN/
- http://www.rge.com/pub/languages/perl/
- ftp://ftp.rge.com/pub/languages/perl/
- ftp://mirrors.cloud9.net/pub/mirrors/CPAN/
+ http://cpan.erlbaum.net/
+ ftp://cpan.erlbaum.net/CPAN/
+ http://cpan.hexten.net/
+ ftp://cpan.hexten.net/
+ http://ftp.fxcorporate.com/CPAN/
+ ftp://ftp.fxcorporate.com/pub/CPAN/
+ ftp://mirror.nyi.net/CPAN/
+ http://mirror.rit.edu/CPAN/
+ ftp://mirror.rit.edu/CPAN/
=item North Carolina
- ftp://ftp.duke.edu/pub/perl/
-
-=item Ohio
-
- ftp://ftp.loaded.net/pub/CPAN/
-
-=item Oklahoma
-
- ftp://ftp.ou.edu/mirrors/CPAN/
+ http://www.ibiblio.org/pub/mirrors/CPAN
+ ftp://ftp.ncsu.edu/pub/mirror/CPAN/
=item Oregon
- ftp://ftp.orst.edu/pub/CPAN
+ http://ftp.osuosl.org/pub/CPAN/
+ ftp://ftp.osuosl.org/pub/CPAN/
=item Pennsylvania
http://ftp.epix.net/CPAN/
ftp://ftp.epix.net/pub/languages/perl/
- http://mirrors.phenominet.com/pub/CPAN/
- ftp://mirrors.phenominet.com/pub/CPAN/
http://cpan.pair.com/
ftp://cpan.pair.com/pub/CPAN/
- ftp://carroll.cac.psu.edu/pub/CPAN/
+
+=item South Carolina
+
+ http://cpan.mirror.clemson.edu/
=item Tennessee
- ftp://ftp.sunsite.utk.edu/pub/CPAN/
+ http://mira.sunsite.utk.edu/CPAN/
=item Texas
- http://ftp.sedl.org/pub/mirrors/CPAN/
- ftp://mirror.telentente.com/pub/CPAN
+ http://mirror.uta.edu/CPAN
=item Utah
+ http://cpan.cs.utah.edu
+ ftp://cpan.cs.utah.edu/pub/CPAN/
ftp://mirror.xmission.com/CPAN/
=item Virginia
- http://mirrors.rcn.net/pub/lang/CPAN/
- ftp://mirrors.rcn.net/pub/lang/CPAN/
+ http://cpan-du.viaverio.com/
+ ftp://cpan-du.viaverio.com/pub/CPAN/
http://perl.secsup.org/
ftp://perl.secsup.org/pub/perl/
- http://mirrors.phihost.com/CPAN/
- ftp://mirrors.phihost.com/CPAN/
- ftp://ruff.cs.jmu.edu/pub/CPAN/
- http://perl.Liquidation.com/CPAN/
+ ftp://mirror.cogentco.com/pub/CPAN/
-=item ashington
+=item Washington
http://cpan.llarian.net/
ftp://cpan.llarian.net/pub/CPAN/
- http://cpan.mirrorcentral.com/
- ftp://ftp.mirrorcentral.com/pub/CPAN/
ftp://ftp-mirror.internap.com/pub/CPAN/
=item Wisconsin
+ http://cpan.mirrors.tds.net
+ ftp://cpan.mirrors.tds.net/pub/CPAN
http://mirror.sit.wisc.edu/pub/CPAN/
ftp://mirror.sit.wisc.edu/pub/CPAN/
=back
+=back
+
=head2 Oceania
=over 4
=item Australia
- http://ftp.planetmirror.com/pub/CPAN/
- ftp://ftp.planetmirror.com/pub/CPAN/
- ftp://mirror.aarnet.edu.au/pub/perl/CPAN/
- ftp://cpan.topend.com.au/pub/CPAN/
+ http://mirror.internode.on.net/pub/cpan/
+ ftp://mirror.internode.on.net/pub/cpan/
+ http://cpan.mirror.aussiehq.net.au/
+ http://mirror.as24220.net/cpan/
+ ftp://mirror.as24220.net/cpan/
=item New Zealand
ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
- http://cpan.soa.co.nz/CPAN/
+ http://cpan.inspire.net.nz
+ ftp://cpan.inspire.net.nz/cpan
+ http://cpan.catalyst.net.nz/CPAN/
+ ftp://cpan.catalyst.net.nz/pub/CPAN/
=back
=item Argentina
- ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
- http://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
- ftp://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
+ http://cpan.patan.com.ar/
+ http://cpan.localhost.net.ar
+ ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN
=item Brazil
ftp://cpan.pop-mg.com.br/pub/CPAN/
- ftp://ftp.matrix.com.br/pub/perl/CPAN/
+ http://ftp.pucpr.br/CPAN
+ ftp://ftp.pucpr.br/CPAN
+ http://cpan.kinghost.net/
+ ftp://ftp.linorg.usp.br/CPAN
=item Chile
- http://cpan.netglobalis.net/
- ftp://cpan.netglobalis.net/pub/CPAN/
+ http://cpan.dcc.uchile.cl/
+ ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
+
+=item Colombia
+
+ http://www.laqee.unal.edu.co/CPAN/
=back
=head2 RSYNC Mirrors
- ftp.fcaglp.unlp.edu.ar::CPAN
- cpan.mirror.smartworker.org::CPAN
+ mirror.as24220.net::cpan
+ cpan.inode.at::CPAN
+ gd.tuwien.ac.at::CPAN
+ ftp.belnet.be::packages/cpan
+ rsync.linorg.usp.br::CPAN
+ rsync.arcticnetwork.ca::CPAN
+ CPAN.mirror.rafal.ca::CPAN
+ mirror.csclub.uwaterloo.ca::CPAN
theoryx5.uwinnipeg.ca::CPAN
- ftp.shellhung.org::CPAN
- ftp.funet.fi::CPAN
- ftp.u-paris10.fr::CPAN
+ www.laqee.unal.edu.co::CPAN
+ mirror.uni-c.dk::CPAN
+ rsync.nic.funet.fi::CPAN
+ rsync://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
mir1.ovh.net::CPAN
+ miroir-francais.fr::cpan
+ ftp.crihan.fr::CPAN
+ rsync://mirror.cict.fr/cpan/
+ rsync://mirror.netcologne.de/cpan/
+ ftp-stud.hs-esslingen.de::CPAN/
ftp.gwdg.de::FTP/languages/perl/CPAN/
- ftp.leo.org::CPAN
- CPAN.piksi.itb.ac.id::CPAN
- ftp.cbn.net.id::CPAN
- ftp.iglu.org.il::CPAN
- gusp.dyndns.org::cpan
- ftp.kddlabs.co.jp::cpan
- ftp.ayamura.org::pub/CPAN/
+ cpan.mirror.iphh.net::CPAN
+ cpan.cpantesters.org::cpan
+ cpan.hu::CPAN
+ komo.vlsm.org::CPAN
+ mirror.unej.ac.id::cpan
+ ftp.esat.net::/pub/languages/perl/CPAN
+ ftp.heanet.ie::mirrors/ftp.perl.org/pub/CPAN
+ rsync.panu.it::CPAN
+ cpan.fastbull.org::CPAN
+ ftp.kddilabs.jp::cpan
+ ftp.nara.wide.ad.jp::cpan/
+ rsync://ftp.jaist.ac.jp/pub/CPAN/
+ rsync://ftp.riken.jp/cpan/
+ mirror.linuxiso.kz::CPAN
+ rsync://mirrors3.kernel.org/mirrors/CPAN/
+ rsync://rsync.osmirror.nl/cpan/
+ mirror.leaseweb.com::CPAN
+ cpan.nautile.nc::CPAN
+ mirror.icis.pcz.pl::CPAN
+ piotrkosoft.net::mirrors/CPAN
+ rsync://cpan.perl.pt/
+ ftp.kaist.ac.kr::cpan
+ cpan.sarang.net::CPAN
mirror.averse.net::cpan
- cpan.teleglobe.net::CPAN
- ftp.sedl.org::cpan
- archive.progeny.com::CPAN
- cpan.teleglobe.net::CPAN
- ftp.lug.udel.edu::cpan
+ rsync.oss.eznetsols.org
+ mirror.ac.za::cpan
+ ftp.is.co.za::IS-Mirror/ftp.cpan.org/
+ rsync://ftp.gui.uva.es/cpan/
+ rsync://mirrors4.kernel.org/mirrors/CPAN/
+ ftp.solnet.ch::CPAN
+ ftp.ulak.net.tr::CPAN
+ gafol.net::cpan
+ rsync.mirrorservice.org::ftp.funet.fi/pub/
+ rsync://rsync.mirror.8086.net/CPAN/
+ rsync.mirror.anlx.net::CPAN
+ mirror.bytemark.co.uk::CPAN
+ ftp.plig.net::CPAN
+ rsync://ftp.ticklers.org:CPAN/
+ mirrors.ibiblio.org::CPAN
+ cpan-du.viaverio.com::CPAN
+ mirror.hiwaay.net::CPAN
+ rsync://mira.sunsite.utk.edu/CPAN/
+ cpan.mirrors.tds.net::CPAN
+ mirror.its.uidaho.edu::cpan
+ rsync://mirror.cc.columbia.edu::cpan/
+ ftp.fxcorporate.com::CPAN
+ rsync.atlantic.net::CPAN
mirrors.kernel.org::mirrors/CPAN
- mirrors.phenominet.com::CPAN
- mirror.csit.fsu.edu::CPAN
- csociety-ftp.ecn.purdue.edu::CPAN
+ rsync://mirrors2.kernel.org/mirrors/CPAN/
+ cpan.pair.com::CPAN
+ rsync://mirror.rit.edu/CPAN/
+ rsync://mirror.facebook.net/cpan/
+ rsync://mirrors1.kernel.org/mirrors/CPAN/
+ cpan-sj.viaverio.com::CPAN
For an up-to-date listing of CPAN sites,
see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .
Does your module pass the 'empty subclass' test? If you say
C<@SUBCLASS::ISA = qw(YOURCLASS);> your applications should be able
to use SUBCLASS in exactly the same way as YOURCLASS. For example,
-does your application still work if you change: C<$obj = new YOURCLASS;>
-into: C<$obj = new SUBCLASS;> ?
+does your application still work if you change: C<< $obj = YOURCLASS->new(); >>
+into: C<< $obj = SUBCLASS->new(); >> ?
Avoid keeping any state information in your packages. It makes it
difficult for multiple other packages to use yours. Keep state
The general mechanism is to assert your Copyright and then make
a declaration of how others may copy/use/modify your work.
-Perl, for example, is supplied with two types of licence: The GNU
-GPL and The Artistic Licence (see the files README, Copying, and
-Artistic). Larry has good reasons for NOT just using the GNU GPL.
+Perl, for example, is supplied with two types of licence: The GNU GPL
+and The Artistic Licence (see the files README, Copying, and Artistic,
+or L<perlgpl> and L<perlartistic>). Larry has good reasons for NOT
+just using the GNU GPL.
My personal recommendation, out of respect for Larry, Perl, and the
Perl community at large is to state something simply like:
or upload to one of these sites:
https://pause.kbx.de/pause/
- http://pause.perl.org/pause/
+ http://pause.perl.org/
and notify <modules@perl.org>.
EOF
close MANIFEST or warn "$0: failed to close MANIFEST (../MANIFEST): $!";
-close OUT or warn "$0: failed to close OUT (perlmodlib.tmp): $!";
+close OUT or warn "$0: failed to close OUT (perlmodlib.pod): $!";