summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2002-07-15 06:56:42 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2002-07-15 06:56:42 +0000
commit07160069ef57a7888de8064b883bc0f5cbd24dc2 (patch)
treea062201a41e83db2a15587826540a7091397dd3a
parent0d30e6959f2dec2319b47915981976aa31a7e10f (diff)
parented11042473efe2693eb190869ac9f7442cc788f4 (diff)
downloadperl-07160069ef57a7888de8064b883bc0f5cbd24dc2.tar.gz
Integrate mainline
p4raw-id: //depot/perlio@17543
-rw-r--r--Changes74
-rwxr-xr-xConfigure2
-rw-r--r--Porting/config.sh18
-rw-r--r--Porting/config_H4
-rw-r--r--README.irix2
-rw-r--r--README.os22
-rw-r--r--ext/PerlIO/via/via.pm8
-rw-r--r--ext/Thread/Queue.pmx3
-rw-r--r--ext/Thread/Semaphore.pmx3
-rwxr-xr-xinstallperl5
-rw-r--r--lib/Term/ANSIColor.pm91
-rw-r--r--patchlevel.h1
-rw-r--r--pod/perldelta.pod273
-rw-r--r--pod/perldiag.pod2
-rw-r--r--pod/perlhack.pod4
-rw-r--r--pod/perlhist.pod1
-rw-r--r--pod/perlipc.pod14
-rw-r--r--pod/perlmodlib.PL975
-rw-r--r--pod/perlmodlib.pod975
-rw-r--r--pod/perlport.pod12
-rw-r--r--pod/perltoc.pod44
-rw-r--r--pp_sys.c14
-rw-r--r--regexec.c2
-rw-r--r--sv.c20
-rw-r--r--t/op/re_tests1
-rwxr-xr-xt/op/sprintf.t6
-rwxr-xr-xt/op/taint.t19
-rw-r--r--utils/perlbug.PL6
28 files changed, 1319 insertions, 1262 deletions
diff --git a/Changes b/Changes
index f55ab21589..b9bfbdd652 100644
--- a/Changes
+++ b/Changes
@@ -28,6 +28,78 @@ example from http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
Version v5.7.X Development release working toward v5.8
--------------
____________________________________________________________________________
+[ 17525] By: jhi on 2002/07/13 22:31:07
+ Log: Small pod nits.
+ Branch: perl
+ ! README.irix README.os2 pod/perlhack.pod pod/perlipc.pod
+____________________________________________________________________________
+[ 17524] By: jhi on 2002/07/13 22:26:10
+ Log: Update perlhist.
+ Branch: perl
+ ! pod/perlhist.pod
+____________________________________________________________________________
+[ 17523] By: jhi on 2002/07/13 22:24:19
+ Log: metaconfig unit changes for #17522.
+ Branch: metaconfig/U/perl
+ + IncClean.U
+ ! gccvers.U
+____________________________________________________________________________
+[ 17522] By: jhi on 2002/07/13 22:24:02
+ Log: Regen Configure.
+ Branch: perl
+ ! Configure Porting/config.sh Porting/config_H
+____________________________________________________________________________
+[ 17521] By: jhi on 2002/07/13 14:14:16
+ Log: Update the CPAN sites list in perlmodlib, regen toc.
+ Branch: perl
+ ! pod/perlmodlib.PL pod/perlmodlib.pod pod/perltoc.pod
+____________________________________________________________________________
+[ 17520] By: jhi on 2002/07/13 13:51:55
+ Log: Subject: [PATCH] perlbug
+ From: Ask Bjoern Hansen <ask@develooper.com>
+ Date: Sat, 13 Jul 2002 07:46:36 -0700 (PDT)
+ Message-ID: <20020713074456.M95399-100000@miette.develooper.com>
+ Branch: perl
+ ! utils/perlbug.PL
+____________________________________________________________________________
+[ 17519] By: jhi on 2002/07/13 13:35:57
+ Log: More admonishment that one shouldn't waste one's efforts
+ on 5.005 threads any more.
+ Branch: perl
+ ! pod/perldelta.pod
+____________________________________________________________________________
+[ 17518] By: jhi on 2002/07/13 13:29:07
+ Log: The installation of the 5.005threads {Queue,Semaphore}.pm
+ didn't quite work.
+ Branch: perl
+ ! ext/Thread/Queue.pmx ext/Thread/Semaphore.pmx installperl
+____________________________________________________________________________
+[ 17517] By: rgs on 2002/07/13 11:46:14
+ Log: Minor doc changes for PerlIO::via.
+ Branch: perl
+ ! ext/PerlIO/via/via.pm
+____________________________________________________________________________
+[ 17516] By: rgs on 2002/07/13 11:28:01
+ Log: The warning "Use of tainted arguments in %s is deprecated"
+ was incorrectly reported whenever system or exec was
+ invoked with multiple arguments.
+ Branch: perl
+ ! pod/perldiag.pod pp_sys.c t/op/taint.t
+____________________________________________________________________________
+[ 17515] By: nick on 2002/07/13 09:18:03
+ Log: Integrate mainline
+ Branch: perlio
+ +> ext/Thread/Queue.pmx ext/Thread/Semaphore.pmx
+ +> lib/Thread/Queue.t lib/Thread/Semaphore.t
+ - ext/threads/shared/queue.pm ext/threads/shared/semaphore.pm
+ - ext/threads/shared/t/queue.t ext/threads/shared/t/semaphore.t
+ !> (integrate 54 files)
+____________________________________________________________________________
+[ 17514] By: jhi on 2002/07/13 00:10:07
+ Log: Update Changes.
+ Branch: perl
+ ! Changes patchlevel.h
+____________________________________________________________________________
[ 17513] By: jhi on 2002/07/13 00:03:04
Log: Document that using threads/pseudofork inside BEGINs does not work.
Branch: perl
@@ -376,7 +448,7 @@ ____________________________________________________________________________
____________________________________________________________________________
[ 17467] By: jhi on 2002/07/10 20:10:23
Log: Retract #17375: contrary to intention, it was actually
- harmful on EBCDIC.
+ harmful on EBCDIC (configpm broke).
Branch: perl
! regexec.c
____________________________________________________________________________
diff --git a/Configure b/Configure
index 30e88ee756..be7ef31750 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Thu Jul 11 23:09:00 EET DST 2002 [metaconfig 3.0 PL70]
+# Generated on Sun Jul 14 02:17:35 EET DST 2002 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
diff --git a/Porting/config.sh b/Porting/config.sh
index f221572208..309be58a6d 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Fri Jun 21 16:39:44 EET DST 2002
+# Configuration time: Sun Jul 14 02:21:32 EET DST 2002
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
@@ -63,7 +63,7 @@ ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_
ccversion='V5.6-082'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Fri Jun 21 16:39:44 EET DST 2002'
+cf_time='Sun Jul 14 02:21:32 EET DST 2002'
charsize='1'
chgrp=''
chmod='chmod'
@@ -493,7 +493,7 @@ dlsrc='dl_dlopen.xs'
doublesize='8'
drand01='drand48()'
drand48_r_proto='0'
-dynamic_ext='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/scalar PerlIO/via PerlIO/encoding SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+dynamic_ext='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -508,7 +508,7 @@ endservent_r_proto='0'
eunicefix=':'
exe_ext=''
expr='expr'
-extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/scalar PerlIO/via PerlIO/encoding SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared Errno'
+extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared Errno'
extras=''
fflushNULL='define'
fflushall='undef'
@@ -521,7 +521,7 @@ freetype='void'
from=':'
full_ar='/usr/bin/ar'
full_csh='/usr/bin/csh'
-full_sed='/usr/bin/sed'
+full_sed='/usr/local/bin/sed'
gccosandvers=''
gccversion=''
getgrent_r_proto='0'
@@ -676,7 +676,7 @@ issymlink='test -h'
ivdformat='"ld"'
ivsize='8'
ivtype='long'
-known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/scalar PerlIO/via PerlIO/encoding SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
ksh=''
ld='ld'
lddlflags='-shared -expect_unresolved "*" -msym -std -s'
@@ -770,7 +770,7 @@ patchlevel='8'
path_sep=':'
perl5='perl'
perl=''
-perl_patchlevel='17302'
+perl_patchlevel='17513'
perladmin='yourname@yourhost.yourplace.com'
perllibs='-lm -lutil'
perlpath='/opt/perl/bin/perl'
@@ -954,7 +954,7 @@ vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
version='5.8.0'
-version_patchlevel_string='version 8 subversion 0 patch 17302'
+version_patchlevel_string='version 8 subversion 0 patch 17513'
versiononly='undef'
vi=''
voidflags='15'
@@ -983,7 +983,7 @@ PERL_SUBVERSION=0
PERL_API_REVISION=5
PERL_API_VERSION=8
PERL_API_SUBVERSION=0
-PERL_PATCHLEVEL=17302
+PERL_PATCHLEVEL=17513
PERL_CONFIG_SH=true
# Variables propagated from previous config.sh file.
pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
diff --git a/Porting/config_H b/Porting/config_H
index 4e9e45a6fe..826b11a5f3 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Fri Jun 21 16:39:44 EET DST 2002
+ * Configuration time: Sun Jul 14 02:21:32 EET DST 2002
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
@@ -28,7 +28,7 @@
/* LOC_SED:
* This symbol holds the complete pathname to the sed program.
*/
-#define LOC_SED "/usr/bin/sed" /**/
+#define LOC_SED "/usr/local/bin/sed" /**/
/* HAS_ALARM:
* This symbol, if defined, indicates that the alarm routine is
diff --git a/README.irix b/README.irix
index de06b00b9f..06819144df 100644
--- a/README.irix
+++ b/README.irix
@@ -25,7 +25,7 @@ or later compilers (use cc -version to check).
=head2 Building 64-bit Perl in Irix
Use
-
+
sh Configure -Dcc='cc -64' -Duse64bitint
This requires require a 64-bit MIPS CPU (R8000, R10000, ...)
diff --git a/README.os2 b/README.os2
index e23aad9805..e02c0819ad 100644
--- a/README.os2
+++ b/README.os2
@@ -1706,7 +1706,7 @@ modules for the details on usage of these functions.
Some of these functions also combine dynaloading semantic with the
error-propagation semantic discussed above.
-
+
=back
=head1 Perl flavors
diff --git a/ext/PerlIO/via/via.pm b/ext/PerlIO/via/via.pm
index cca09d8f50..39a5fab860 100644
--- a/ext/PerlIO/via/via.pm
+++ b/ext/PerlIO/via/via.pm
@@ -26,7 +26,7 @@ to Perl.
One example module, L<PerlIO::via::QuotedPrint>, is included with Perl
5.8.0, and more example modules are available from CPAN, such as
L<PerlIO::via::StripHTML> and L<PerlIO::via::Base64>. The
-PerlIO::via::StripHTML for instance, allows you to say:
+PerlIO::via::StripHTML module for instance, allows you to say:
use PerlIO::via::StripHTML;
open( my $fh, "<:via(StripHTML)", "index.html" );
@@ -49,8 +49,8 @@ PerlIO::via:: namespace, so that they can easily be located on CPAN and use
the default namespace feature of the PerlIO::via module itself.
Please note that this is an area of recent development in Perl and that the
-interface described here is therefor still subject to change (and hopefully
-better documentation and more examples).
+interface described here is therefore still subject to change (and hopefully
+will have better documentation and more examples).
In the method descriptions below I<$fh> will be
a reference to a glob which can be treated as a perl file handle.
@@ -178,7 +178,7 @@ a PerlIO layer can look, as simple example is included here.
=head2 Example - a Hexadecimal Handle
-Given the following module, PerlIO::via::Hex.pm:
+Given the following module, PerlIO::via::Hex :
package PerlIO::via::Hex;
diff --git a/ext/Thread/Queue.pmx b/ext/Thread/Queue.pmx
index 481261043f..231ce3c154 100644
--- a/ext/Thread/Queue.pmx
+++ b/ext/Thread/Queue.pmx
@@ -1,6 +1,9 @@
package Thread::Queue;
use Thread qw(cond_wait cond_broadcast);
+use vars qw($VERSION);
+$VERSION = '1.00';
+
=head1 NAME
Thread::Queue - thread-safe queues (5.005-threads)
diff --git a/ext/Thread/Semaphore.pmx b/ext/Thread/Semaphore.pmx
index 8d69ac540a..a9fb089909 100644
--- a/ext/Thread/Semaphore.pmx
+++ b/ext/Thread/Semaphore.pmx
@@ -1,6 +1,9 @@
package Thread::Semaphore;
use Thread qw(cond_wait cond_broadcast);
+use vars qw($VERSION);
+$VERSION = '1.00';
+
=head1 NAME
Thread::Semaphore - thread-safe semaphores (5.005-threads)
diff --git a/installperl b/installperl
index ab59652599..9e06145df7 100755
--- a/installperl
+++ b/installperl
@@ -390,7 +390,10 @@ foreach my $file (@corefiles) {
# modules if so needed.
if ($Config{use5005threads}) {
for my $m (qw(Queue Semaphore)) {
- copy("ext/Thread/$m.pmx", "$installprivlib/Thread/$m.pm")
+ my $t = "$installprivlib/Thread/$m.pm";
+ unlink $t;
+ copy("ext/Thread/$m.pmx", $t);
+ chmod(0444, $t);
}
}
diff --git a/lib/Term/ANSIColor.pm b/lib/Term/ANSIColor.pm
index 52683d4da3..1edcfb03e9 100644
--- a/lib/Term/ANSIColor.pm
+++ b/lib/Term/ANSIColor.pm
@@ -1,7 +1,7 @@
# Term::ANSIColor -- Color screen output using ANSI escape sequences.
-# $Id: ANSIColor.pm,v 1.4 2001/07/10 08:52:05 eagle Exp $
+# $Id: ANSIColor.pm,v 1.5 2002/06/28 22:49:01 eagle Exp $
#
-# Copyright 1996, 1997, 1998, 2000, 2001
+# Copyright 1996, 1997, 1998, 2000, 2001, 2002
# by Russ Allbery <rra@stanford.edu> and Zenin <zenin@bawdycaste.com>
#
# This program is free software; you may redistribute it and/or modify it
@@ -10,9 +10,9 @@
# Ah, September, when the sysadmins turn colors and fall off the trees....
# -- Dave Van Domelen
-############################################################################
+##############################################################################
# Modules and declarations
-############################################################################
+##############################################################################
package Term::ANSIColor;
require 5.001;
@@ -32,14 +32,13 @@ use Exporter ();
ON_CYAN ON_WHITE)]);
Exporter::export_ok_tags ('constants');
-# Don't use the CVS revision as the version, since this module is also in
-# Perl core and too many things could munge CVS magic revision strings.
-$VERSION = 1.04;
+# Don't use the CVS revision as the version, since this module is also in Perl
+# core and too many things could munge CVS magic revision strings.
+$VERSION = 1.05;
-
-############################################################################
+##############################################################################
# Internal data structures
-############################################################################
+##############################################################################
%attributes = ('clear' => 0,
'reset' => 0,
@@ -65,28 +64,27 @@ for (reverse sort keys %attributes) {
$attributes_r{$attributes{$_}} = $_;
}
-
-############################################################################
+##############################################################################
# Implementation (constant form)
-############################################################################
+##############################################################################
-# Time to have fun! We now want to define the constant subs, which are
-# named the same as the attributes above but in all caps. Each constant sub
-# needs to act differently depending on whether $AUTORESET is set. Without
+# Time to have fun! We now want to define the constant subs, which are named
+# the same as the attributes above but in all caps. Each constant sub needs
+# to act differently depending on whether $AUTORESET is set. Without
# autoreset:
#
-# BLUE "text\n" ==> "\e[34mtext\n"
+# BLUE "text\n" ==> "\e[34mtext\n"
#
# If $AUTORESET is set, we should instead get:
#
-# BLUE "text\n" ==> "\e[34mtext\n\e[0m"
+# BLUE "text\n" ==> "\e[34mtext\n\e[0m"
#
# The sub also needs to handle the case where it has no arguments correctly.
-# Maintaining all of this as separate subs would be a major nightmare, as
-# well as duplicate the %attributes hash, so instead we define an AUTOLOAD
-# sub to define the constant subs on demand. To do that, we check the name
-# of the called sub against the list of attributes, and if it's an all-caps
-# version of one of them, we define the sub on the fly and then run it.
+# Maintaining all of this as separate subs would be a major nightmare, as well
+# as duplicate the %attributes hash, so instead we define an AUTOLOAD sub to
+# define the constant subs on demand. To do that, we check the name of the
+# called sub against the list of attributes, and if it's an all-caps version
+# of one of them, we define the sub on the fly and then run it.
#
# If the environment variable ANSI_COLORS_DISABLED is set, turn all of the
# generated subs into pass-through functions that don't add any escape
@@ -115,10 +113,9 @@ sub AUTOLOAD {
}
}
-
-############################################################################
+##############################################################################
# Implementation (attribute string form)
-############################################################################
+##############################################################################
# Return the escape code for a given set of color attributes.
sub color {
@@ -138,8 +135,8 @@ sub color {
}
# Return a list of named color attributes for a given set of escape codes.
-# Escape sequences can be given with or without enclosing "\e[" and "m".
-# The empty escape sequence '' or "\e[m" gives an empty list of attrs.
+# Escape sequences can be given with or without enclosing "\e[" and "m". The
+# empty escape sequence '' or "\e[m" gives an empty list of attrs.
sub uncolor {
my (@nums, @result);
for (@_) {
@@ -167,11 +164,11 @@ sub uncolor {
# Given a string and a set of attributes, returns the string surrounded by
# escape codes to set those attributes and then clear them at the end of the
# string. The attributes can be given either as an array ref as the first
-# argument or as a list as the second and subsequent arguments. If
-# $EACHLINE is set, insert a reset before each occurrence of the string
-# $EACHLINE and the starting attribute code after the string $EACHLINE, so
-# that no attribute crosses line delimiters (this is often desirable if the
-# output is to be piped to a pager or some other program).
+# argument or as a list as the second and subsequent arguments. If $EACHLINE
+# is set, insert a reset before each occurrence of the string $EACHLINE and
+# the starting attribute code after the string $EACHLINE, so that no attribute
+# crosses line delimiters (this is often desirable if the output is to be
+# piped to a pager or some other program).
sub colored {
my ($string, @codes);
if (ref $_[0]) {
@@ -192,10 +189,9 @@ sub colored {
}
}
-
-############################################################################
+##############################################################################
# Module return value and documentation
-############################################################################
+##############################################################################
# Ensure we evaluate to true.
1;
@@ -408,9 +404,10 @@ control sequences for video terminals and peripherals.
Note that not all displays are ISO 6429-compliant, or even X3.64-compliant
(or are even attempting to be so). This module will not work as expected on
-displays that do not honor these escape sequences, such as (reportedly) the
-"console" in at least some versions of Windows. They may just be ignored,
-or they may display as an ESC character followed by some apparent garbage.
+displays that do not honor these escape sequences, such as cmd.exe, 4nt.exe,
+and command.com under either Windows NT or Windows 2000. They may just be
+ignored, or they may display as an ESC character followed by some apparent
+garbage.
Jean Delvare provided the following table of different common terminal
emulators and their support for the various attributes:
@@ -441,23 +438,27 @@ supported by this module.
=head1 SEE ALSO
ECMA-048 is available on-line (at least at the time of this writing) at
-E<lt>http://www.ecma.ch/ecma1/STAND/ECMA-048.HTME<gt>.
+L<http://www.ecma.ch/ecma1/STAND/ECMA-048.HTM>.
ISO 6429 is available from ISO for a charge; the author of this module does
not own a copy of it. Since the source material for ISO 6429 was ECMA-048
and the latter is available for free, there seems little reason to obtain
the ISO standard.
+The current version of this module is always available from its web site at
+L<http://www.eyrie.org/~eagle/software/ansicolor/>. It is also part of the
+Perl core distribution as of 5.6.0.
+
=head1 AUTHORS
Original idea (using constants) by Zenin, reimplemented using subs by Russ
-Allbery E<lt>rra@stanford.eduE<gt>, and then combined with the original idea
-by Russ with input from Zenin. Russ Allbery now maintains this module.
+Allbery <rra@stanford.edu>, and then combined with the original idea by Russ
+with input from Zenin. Russ Allbery now maintains this module.
-=head1 LICENSE
+=head1 COPYRIGHT AND LICENSE
-Copyright 1996, 1997, 1998, 2000, 2001 Russ Allbery <rra@stanford.edu> and
-Zenin <zenin@bawdycaste.org>. This program is free software; you may
+Copyright 1996, 1997, 1998, 2000, 2001, 2002 Russ Allbery <rra@stanford.edu>
+and Zenin <zenin@bawdycaste.org>. This program is free software; you may
redistribute it and/or modify it under the same terms as Perl itself.
=cut
diff --git a/patchlevel.h b/patchlevel.h
index 862fa3d0c7..164ee0d83c 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -79,7 +79,6 @@
#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
static char *local_patches[] = {
NULL
- ,"DEVEL17513"
,NULL
};
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 38527887a5..01b28e5eaf 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -95,7 +95,7 @@ change will probably break backward compatibility with compiled
modules. The change was made to make Perl more compliant with other
applications like mod_perl which are using the AIX native interface.
-=head2 Attributes for C<my> variables now handled at run-time.
+=head2 Attributes for C<my> variables now handled at run-time
The C<my EXPR : ATTRS> syntax now applies variable attributes at
run-time. (Subroutine and C<our> variables still get attributes applied
@@ -157,6 +157,13 @@ for better use: now they stand for long double (if supported by the
platform) and NV (Perl internal floating point type). (They used
to be aliases for d/f, but you never knew that.)
+=head2 glob() now returns filenames in alphabetical order
+
+The list of filenames from glob() (or <...>) is now by default sorted
+alphabetically to be csh-compliant (which is what happened before
+in most UNIX platforms). (bsd_glob() does still sort platform
+natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.) [561]
+
=head2 Deprecations
=over 4
@@ -193,27 +200,7 @@ any C<\w> character.
=item *
-The list of filenames from glob() (or <...>) is now by default sorted
-alphabetically to be csh-compliant (which is what happened before
-in most UNIX platforms). (bsd_glob() does still sort platform
-natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.) [561]
-
-=item *
-
-Spurious syntax errors generated in certain situations, when glob()
-caused File::Glob to be loaded for the first time, have been fixed. [561]
-
-=item *
-
-Although "you shouldn't do that", it was possible to write code that
-depends on Perl's hashed key order (Data::Dumper does this). The new
-algorithm "One-at-a-Time" produces a different hashed key order.
-More details are in L</"Performance Enhancements">.
-
-=item *
-
-lstat(FILEHANDLE) now gives a warning because the operation makes no sense.
-In future releases this may become a fatal error.
+The *glob{FILEHANDLE} is deprecated, use *glob{IO} instead.
=item *
@@ -237,16 +224,16 @@ source code level, this shouldn't be that drastic a change.
=item *
-Previous versions of perl and some readings of some sections of Camel III
-implied that the C<:raw> "discipline" was the inverse of C<:crlf>.
+Previous versions of perl and some readings of some sections of Camel
+III implied that the C<:raw> "discipline" was the inverse of C<:crlf>.
Turning off "clrfness" is no longer enough to make a stream truly
-binary. So the PerlIO C<:raw> layer (or "discipline", to use the
-Camel book's older terminology) is now formally defined as being
-equivalent to binmode(FH) - which is in turn defined as doing whatever
-is necessary to pass each byte as-is without any translation.
-In particular binmode(FH) - and hence C<:raw> - will now turn off both CRLF
-and UTF-8 translation and remove other layers (e.g. :encoding()) which
-would modify byte stream.
+binary. So the PerlIO C<:raw> layer (or "discipline", to use the Camel
+book's older terminology) is now formally defined as being equivalent
+to binmode(FH) - which is in turn defined as doing whatever is
+necessary to pass each byte as-is without any translation. In
+particular binmode(FH) - and hence C<:raw> - will now turn off both
+CRLF and UTF-8 translation and remove other layers (e.g. :encoding())
+which would modify byte stream.
=item *
@@ -299,8 +286,8 @@ release.
=item *
-The C<exec LIST> and C<system LIST> operations will produce fatal
-errors on tainted data in some future release.
+The C<exec LIST> and C<system LIST> operations now produce warnings on
+tainted data and in some future release they will produce fatal errors.
=item *
@@ -591,6 +578,23 @@ Formats now support zero-padded decimal fields.
=item *
+Although "you shouldn't do that", it was possible to write code that
+depends on Perl's hashed key order (Data::Dumper does this). The new
+algorithm "One-at-a-Time" produces a different hashed key order.
+More details are in L</"Performance Enhancements">.
+
+=item *
+
+lstat(FILEHANDLE) now gives a warning because the operation makes no sense.
+In future releases this may become a fatal error.
+
+=item *
+
+Spurious syntax errors generated in certain situations, when glob()
+caused File::Glob to be loaded for the first time, have been fixed. [561]
+
+=item *
+
Lvalue subroutines can now return C<undef> in list context. However,
the lvalue subroutine feature still remains experimental. [561+]
@@ -1932,8 +1936,9 @@ The Thread extension is now not built at all under ithreads
(C<Configure -Duseithreads>) because it wouldn't work anyway (the
Thread extension requires being Configured with C<-Duse5005threads>).
-But note that the Thread.pm interface is now shared by both
-thread models.
+B<Note that the 5.005 threads are unsupported and deprecated: if you
+have code written for the old threads you should migrate it to the
+new ithreads model.>
=item *
@@ -2113,6 +2118,33 @@ Perl consistently handles such strings as zero in numeric contexts.
=item *
+Several debugger fixes: exit code now reflects the script exit code,
+condition C<"0"> now treated correctly, the C<d> command now checks
+line number, C<$.> no longer gets corrupted, and all debugger output
+now goes correctly to the socket if RemotePort is set. [561]
+
+=item *
+
+The debugger (perl5db.pl) has been modified to present a more
+consistent commands interface, via (CommandSet=580). perl5db.t was
+also added to test the changes, and as a placeholder for further tests.
+
+See L<perldebug>.
+
+=item *
+
+The debugger has a new C<dumpDepth> option to control the maximum
+depth to which nested structures are dumped. The C<x> command has
+been extended so that C<x N EXPR> dumps out the value of I<EXPR> to a
+depth of at most I<N> levels.
+
+=item *
+
+The debugger can now show lexical variables if you have the CPAN
+module PadWalker installed.
+
+=item *
+
The order of DESTROYs has been made more predictable.
=item *
@@ -2781,16 +2813,40 @@ A socket handle leak in accept() has been fixed. [561]
=head1 New or Changed Diagnostics
+Please see L<perldiag> for more details.
+
=over 4
=item *
+Ambiguous range in the transliteration operator (like a-z-9) now
+gives a warning.
+
+=item *
+
+Two new debugging options have been added: if you have compiled your
+Perl with debugging, you can use the -DT [561] and -DR options to trace
+tokenising and to add reference counts to displaying variables,
+respectively.
+
+=item *
+
The lexical warnings category "deprecated" is no longer a sub-category
of the "syntax" category. It is now a top-level category in its own
right.
=item *
+Unadorned dump() will now give a warning suggesting to
+use explicit CORE::dump() if that's what really is meant.
+
+=item *
+
+The "Unrecognized escape" warning has been extended to include C<\8>,
+C<\9>, and C<\_>. There is no need to escape any of the C<\w> characters.
+
+=item *
+
All regular expression compilation error messages are now hopefully
easier to understand both because the error message now comes before
the failed regex and because the point of failure is now clearly
@@ -2798,48 +2854,46 @@ marked by a C<E<lt>-- HERE> marker.
=item *
-The various "opened only for", "on closed", "never opened" warnings
-drop the C<main::> prefix for filehandles in the C<main> package,
-for example C<STDIN> instead of C<main::STDIN>.
+Various I/O (and socket) functions like binmode(), close(), and so
+forth now more consistently warn if they are used illogically either
+on a yet unopened or on an already closed filehandle (or socket).
=item *
-The "Unrecognized escape" warning has been extended to include C<\8>,
-C<\9>, and C<\_>. There is no need to escape any of the C<\w> characters.
+Using lstat() on a filehandle now gives a warning. (It's a non-sensical
+thing to do.)
=item *
-Two new debugging options have been added: if you have compiled your
-Perl with debugging, you can use the -DT [561] and -DR options to trace
-tokenising and to add reference counts to displaying variables,
-respectively.
+The C<-M> and C<-m> options now warn if you didn't supply the module name.
=item *
-Several debugger fixes: exit code now reflects the script exit code,
-condition C<"0"> now treated correctly, the C<d> command now checks
-line number, C<$.> no longer gets corrupted, and all debugger output
-now goes correctly to the socket if RemotePort is set. [561]
+If you in C<use> specify a required minimum version, modules matching
+the name and but not defining a $VERSION will cause a fatal failure.
=item *
-The debugger (perl5db.pl) has been modified to present a more
-consistent commands interface, via (CommandSet=580). perl5db.t was
-also added to test the changes, and as a placeholder for further tests.
+Using negative offset for vec() in lvalue context is now a warnable offense.
-See L<perldebug>.
+=item *
+
+Odd number of arguments to oveload::constant now elicits a warning.
=item *
-The debugger has a new C<dumpDepth> option to control the maximum
-depth to which nested structures are dumped. The C<x> command has
-been extended so that C<x N EXPR> dumps out the value of I<EXPR> to a
-depth of at most I<N> levels.
+Odd number of elements to in anonymous hash now elicits a warning.
=item *
-The debugger can now show lexical variables if you have the CPAN
-module PadWalker installed.
+The various "opened only for", "on closed", "never opened" warnings
+drop the C<main::> prefix for filehandles in the C<main> package,
+for example C<STDIN> instead of C<main::STDIN>.
+
+=item *
+
+Subroutine prototypes are now checked more carefully, you may
+get warnings for example if you have used non-prototype characters.
=item *
@@ -2860,20 +2914,75 @@ for the C<"c"> format and a number less than -128 or more than 127.
=item *
+pack C<P> format now demands an explicit size.
+
+=item *
+
+unpack C<w> now warns of unterminated compressed integers.
+
+=item *
+
+Warnings relating to the use of PerlIO have been added.
+
+=item *
+
Certain regex modifiers such as C<(?o)> make sense only if applied to
the entire regex. You will get an optional warning if you try to do
otherwise.
=item *
+Variable length lookbehind has not yet been implemented, trying to
+use it will tell that.
+
+=item *
+
Using arrays or hashes as references (e.g. C<< %foo->{bar} >>
has been deprecated for a while. Now you will get an optional warning.
=item *
+Warnings relating to the use of the new restricted hashes feature
+have been added.
+
+=item *
+
+Self-ties of arrays and hashes are not supported and fatal errors
+will happen even at an attempt to do so.
+
+=item *
+
Using C<sort> in scalar context now issues an optional warning.
This didn't do anything useful, as the sort was not performed.
+=item *
+
+Using the /g modifier in split() is meaningless and will cause a warning.
+
+=item *
+
+Using splice() past the end of an array now causes a warning.
+
+=item *
+
+Malformed Unicode encodings (UTF-8 and UTF-16) cause a lot of warnings,
+ad doestrying to use UTF-16 surrogates (which are unimplemented).
+
+=item *
+
+Trying to use Unicode characters on an I/O stream without marking the
+stream's encoding (using open() or binmode()) will cause "Wide character"
+warnings.
+
+=item *
+
+Use of v-strings in use/require causes a (backward) portability warning.
+
+=item *
+
+Warnings relating to the use interpreter threads and their shared data
+have been added.
+
=back
=head1 Changed Internals
@@ -2882,6 +2991,10 @@ This didn't do anything useful, as the sort was not performed.
=item *
+PerlIO is now the default.
+
+=item *
+
perlapi.pod (a companion to perlguts) now attempts to document the
internal API.
@@ -3093,6 +3206,10 @@ detailed in here: http://sources.redhat.com/ml/cygwin/2001-12/msg00894.html
One can build but not install (or test the build of) the NDBM_File
on FAT filesystems. Installation (or build) on NTFS works fine.
+=head2 DJGPP does not build
+
+Unfortunately DJGPP build broke somewhere after 5.7.1.
+
=head2 ext/threads/t/libc
If this test fails, it indicates that your libc (C library) is not
@@ -3101,8 +3218,8 @@ find out whether it is threadsafe. See L<perlthrtut> for more information.
=head2 FreeBSD built with ithreads coredumps reading large directories
-This is a known bug in FreeBSD's readdir_r() (see L<perlfreebsd>
-(README.freebsd)), which hopefully will be fixed in FreeBSD 4.6.
+This is a known bug in FreeBSD 4.5's readdir_r(), it has been fixed in
+FreeBSD 4.6 (see L<perlfreebsd> (README.freebsd)).
=head2 FreeBSD Failing locale Test 117 For ISO 8859-15 Locales
@@ -3255,6 +3372,15 @@ failures. Most of the rest point at problems with SysV IPC.
Use PDL 2.3.4 or later.
+=head2 Perl_get_sv
+
+You may get errors like 'Undefined symbol "Perl_get_sv"' or
+"can't resolve symbol 'Perl_get_sv'". This probably means that
+you are trying to use an older shared Perl library with Perl 5.8.0
+executable. Perl used to have such a subroutine, but that is no more
+the case. Check your shared library path, and any shared Perl
+libraries in those directories.
+
=head2 Term::ReadKey not working on Win32
Use Term::ReadKey 2.20 or later.
@@ -3263,7 +3389,7 @@ Use Term::ReadKey 2.20 or later.
B<Note that support for 5.005-style threading is deprecated,
experimental and practically unsupported. In 5.10, it is expected
-to be removed.>
+to be removed. You should migrate your code to ithreads.>
The following tests are known to fail due to fundamental problems in
the 5.005 threading implementation. These are not new failures--Perl
@@ -3383,7 +3509,7 @@ Use XML::Parser 2.31 or later.
=head2 z/OS (OS/390)
-z/OS has rather many test failures but the situation is actually
+z/OS has rather many test failures but the situation is actually much
better than it was in 5.6.0; it's just that so many new modules and
tests have been added.
@@ -3396,7 +3522,8 @@ tests have been added.
110-111 150 161
../lib/ExtUtils/t/Constant.t 121 30976 48 48 100.00% 1-48
../lib/ExtUtils/t/Embed.t 9 9 100.00% 1-9
- op/pat.t 0 11 922 283 30.69% 640-922
+ op/pat.t 922 7 0.76% 665 776 785 832-
+ 834 845
op/sprintf.t 224 3 1.34% 98 100 136
op/tr.t 97 5 5.15% 63 71-74
uni/fold.t 780 6 0.77% 61 169 196 661
@@ -3471,18 +3598,6 @@ C<pP> are testing for Unicode code points, not knowing about EBCDIC.
The compiler suite is slowly getting better but it continues to be
highly experimental. Use in production environments is discouraged.
-=head2 The Long Double Support Is Still Experimental
-
-The ability to configure Perl's numbers to use "long doubles",
-floating point numbers of hopefully better accuracy, is still
-experimental. The implementations of long doubles are not yet
-widespread and the existing implementations are not quite mature
-or standardised, therefore trying to support them is a rare
-and moving target. The gain of more precision may also be offset
-by slowdown in computations (more bits to move around, and the
-operations are more likely to be executed by less optimised
-libraries).
-
=head2 Seen In Perl 5.7 But Gone Now
C<Time::Piece> (previously known as C<Time::Object>) was removed
@@ -3498,10 +3613,16 @@ development release).
The C<PerlIO::Scalar> and C<PerlIO::Via> (capitalised) were renamed as
C<PerlIO::scalar> and C<PerlIO::via> (all lowercase) just before 5.8.0.
-The main rationale was to have all core IO layers to have all
+The main rationale was to have all core PerlIO layers to have all
lowercase names. The "plugins" are named as usual, for example
C<PerlIO::via::QuotedPrint>.
+The C<threads::shared::queue> and C<threads::shared::semaphore> were
+renamed as C<Thread::Queue> and C<Thread::Semaphore> just before 5.8.0.
+The main rationale was to have thread modules to obey normal naming,
+C<Thread::> (the C<threads> and C<threads::shared> themselves are
+more pragma-like, they affect compile-time, so they stay lowercase).
+
=head1 Reporting Bugs
If you find what you think is a bug, you might check the articles
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 8ff754d85d..8a2e4a4f24 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -4166,7 +4166,7 @@ a package qualifier, e.g. C<&our()>, or C<Foo::our()>.
=item Use of tainted arguments in %s is deprecated
-(W taint) You have supplied C<system()> or C<exec()> with multiple
+(W taint, deprecated) You have supplied C<system()> or C<exec()> with multiple
arguments and at least one of them is tainted. This used to be allowed
but will become a fatal error in a future version of perl. Untaint your
arguments. See L<perlsec>.
diff --git a/pod/perlhack.pod b/pod/perlhack.pod
index 8c5d213fb0..fbb7c9b456 100644
--- a/pod/perlhack.pod
+++ b/pod/perlhack.pod
@@ -482,8 +482,6 @@ for reference.
=head2 Perlbug remote interface
-=over 4
-
There are three (3) remote administrative interfaces for modifying bug
status, category, etc. In all cases an admin must be first registered
with the Perlbug database by sending an email request to
@@ -498,6 +496,8 @@ For more info on the web see
http://bugs.perl.org/perlbug.cgi?req=spec
+=over 4
+
=item 1 http://bugs.perl.org
Login via the web, (remove B<admin/> if only browsing), where interested
diff --git a/pod/perlhist.pod b/pod/perlhist.pod
index 23866ad360..f348260b88 100644
--- a/pod/perlhist.pod
+++ b/pod/perlhist.pod
@@ -360,6 +360,7 @@ the strings?).
5.7.3 2002-Mar-05
5.8.0-RC1 2002-Jun-01
5.8.0-RC2 2002-Jun-21
+ 5.8.0-RC3 2002-Jul-13
=head2 SELECTED RELEASE SIZES
diff --git a/pod/perlipc.pod b/pod/perlipc.pod
index c75fa958d0..02f2687419 100644
--- a/pod/perlipc.pod
+++ b/pod/perlipc.pod
@@ -191,33 +191,33 @@ located in the subroutine C<code()>, which simply prints some debug
info to show that it works and should be replaced with the real code.
#!/usr/bin/perl -w
-
+
use POSIX ();
use FindBin ();
use File::Basename ();
use File::Spec::Functions;
-
+
$|=1;
-
+
# make the daemon cross-platform, so exec always calls the script
# itself with the right path, no matter how the script was invoked.
my $script = File::Basename::basename($0);
my $SELF = catfile $FindBin::Bin, $script;
-
+
# POSIX unmasks the sigprocmask properly
my $sigset = POSIX::SigSet->new();
my $action = POSIX::SigAction->new('sigHUP_handler',
$sigset,
&POSIX::SA_NODEFER);
POSIX::sigaction(&POSIX::SIGHUP, $action);
-
+
sub sigHUP_handler {
print "got SIGHUP\n";
exec($SELF, @ARGV) or die "Couldn't restart: $!\n";
}
-
+
code();
-
+
sub code {
print "PID: $$\n";
print "ARGV: @ARGV\n";
diff --git a/pod/perlmodlib.PL b/pod/perlmodlib.PL
index fd39e65468..982adff21d 100644
--- a/pod/perlmodlib.PL
+++ b/pod/perlmodlib.PL
@@ -262,21 +262,34 @@ Miscellaneous Modules
=back
-Registered CPAN sites as of this writing include the following.
-You should try to choose one close to you:
+The list of the registered CPAN sites as of this writing follows.
+Please note that the sorting order is alphabetical on fields:
+
+Continent
+ |
+ |-->Country
+ |
+ |-->[state/province]
+ |
+ |-->ftp
+ |
+ |-->[http]
+
+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.
=head2 Africa
=over 4
-=item *
-
-South Africa
+=item South Africa
- ftp://ftp.is.co.za/programming/perl/CPAN/
- ftp://ftp.mweb.co.za/pub/mirrors/cpan/
- ftp://ftp.saix.net/pub/CPAN/
- ftp://ftp.sun.ac.za/CPAN/CPAN/
+ ftp://ftp.is.co.za/programming/perl/CPAN/
+ ftp://ftp.mweb.co.za/pub/mirrors/cpan/
+ ftp://ftp.saix.net/pub/CPAN/
+ ftp://ftp.sun.ac.za/CPAN/CPAN/
=back
@@ -284,113 +297,93 @@ South Africa
=over 4
-=item *
-
-China
-
- 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
-
-=item *
-
-India
-
- http://cpan.in.freeos.com
- ftp://cpan.in.freeos.com/pub/CPAN/
-
-=item *
-
-Indonesia
-
- http://cpan.itb.web.id/
- ftp://mirrors.piksi.itb.ac.id/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/
-
-=item *
-
-Japan
+=item China
- 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.dti.ad.jp/pub/lang/CPAN/
- ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
+ 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
-=item *
+=item India
-Korea
+ http://cpan.in.freeos.com
+ ftp://cpan.in.freeos.com/pub/CPAN/
- http://mirror.Mazic.org/pub/CPAN
- ftp://mirror.Mazic.org/pub/CPAN
+=item Indonesia
-=item *
+ 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/
-Philippines
+=item Israel
- http://www.adzu.edu.ph/CPAN
+ 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/
-=item *
+=item Japan
-Russian Federation
+ 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.dti.ad.jp/pub/lang/CPAN/
+ ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
- http://cpan.tomsk.ru
- ftp://cpan.tomsk.ru/pub/CPAN
+=item Korea
-=item *
+ http://mirror.Mazic.org/pub/CPAN
+ ftp://mirror.Mazic.org/pub/CPAN
-Saudi Arabia
+=item Philippines
- ftp://ftp.isu.net.sa/pub/CPAN/
+ http://www.adzu.edu.ph/CPAN
-=item *
+=item Russian Federation
-Singapore
+ http://cpan.tomsk.ru
+ ftp://cpan.tomsk.ru/pub/CPAN
- http://cpan.hjc.edu.sg
+=item Saudi Arabia
-=item *
+ ftp://ftp.isu.net.sa/pub/CPAN/
-South Korea
+=item Singapore
- 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.hjc.edu.sg
+ http://mirror.averse.net/pub/CPAN
+ ftp://mirror.averse.net/pub/CPAN
-=item *
+=item South Korea
-Taiwan
+ 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
- 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/
+=item Taiwan
-=item *
+ 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/
-Thailand
+=item Thailand
- ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
+ ftp://ftp.loxinfo.co.th/pub/cpan/
+ ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
=back
@@ -398,13 +391,11 @@ Thailand
=over 4
-=item *
-
-Costa Rica
+=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/
+ ftp://ftp.linux.co.cr/mirrors/CPAN/
+ http://ftp.ucr.ac.cr/Unix/CPAN/
+ ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
=back
@@ -412,290 +403,242 @@ Costa Rica
=over 4
-=item *
-
-Austria
-
- ftp://ftp.tuwien.ac.at/pub/CPAN/
-
-=item *
-
-Belgium
-
- 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/
-
-=item *
-
-Bulgaria
-
- http://cpan.lirex.net/
- ftp://ftp.lirex.net/pub/mirrors/CPAN
+=item Austria
-=item *
-
-Croatia
-
- ftp://ftp.linux.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/
-
-=item *
-
-Denmark
-
- http://mirrors.sunsite.dk/cpan/
- ftp://sunsite.dk/mirrors/cpan/
- http://www.cpan.dk/CPAN/
- ftp://www.cpan.dk/ftp.cpan.org/CPAN/
-
-=item *
-
-Estonia
-
- ftp://ftp.ut.ee/pub/languages/perl/CPAN/
-
-=item *
-
-Finland
-
- ftp://ftp.funet.fi/pub/languages/perl/CPAN/
- http://cpan.kpnqwest.fi/
-
-=item *
-
-France
+ ftp://ftp.tuwien.ac.at/pub/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/
- ftp://ftp.lip6.fr/pub/perl/CPAN/
- ftp://ftp.oleane.net/pub/mirrors/CPAN/
- ftp://ftp.pasteur.fr/pub/computing/CPAN/
- http://cpan.cict.fr/
- ftp://cpan.cict.fr/pub/CPAN/
- ftp://ftp.uvsq.fr/pub/perl/CPAN/
+=item Belgium
-=item *
-
-Germany
-
- ftp://ftp.rz.ruhr-uni-bochum.de/pub/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
- ftp://ftp.gigabell.net/pub/CPAN/
- http://pandemonium.tiscali.de/pub/CPAN/
- ftp://pandemonium.tiscali.de/pub/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://cpan.noris.de/
- ftp://cpan.noris.de/pub/CPAN/
- ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
- ftp://ftp.gmd.de/mirrors/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/
-
-=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/
-
-=item *
+ 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/
-Iceland
+=item Bulgaria
- http://ftp.rhnet.is/pub/CPAN/
- ftp://ftp.rhnet.is/pub/CPAN/
+ http://cpan.lirex.net/
+ ftp://ftp.lirex.net/pub/mirrors/CPAN
-=item *
+=item Croatia
-Ireland
+ http://ftp.linux.hr/pub/CPAN/
+ ftp://ftp.linux.hr/pub/CPAN/
- http://cpan.indigo.ie/
- ftp://cpan.indigo.ie/pub/CPAN/
- http://sunsite.compapp.dcu.ie/pub/perl/
- ftp://sunsite.compapp.dcu.ie/pub/perl/
+=item Czech Republic
-=item *
+ 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/
-Italy
+=item Denmark
- 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://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 *
+=item Estonia
-Latvia
+ ftp://ftp.ut.ee/pub/languages/perl/CPAN/
- http://kvin.lv/pub/CPAN/
+=item Finland
-=item *
+ ftp://ftp.funet.fi/pub/languages/perl/CPAN/
+ http://cpan.kpnqwest.fi/
-Lithuania
+=item France
- ftp://ftp.unix.lt/pub/CPAN/
+ 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/
+ 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://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 *
+=item Germany
-Netherlands
+ ftp://ftp.rz.ruhr-uni-bochum.de/pub/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.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://cpan.noris.de/
+ ftp://cpan.noris.de/pub/CPAN/
+ ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
+ ftp://ftp.gmd.de/mirrors/CPAN/
- ftp://download.xs4all.nl/pub/mirror/CPAN/
- ftp://ftp.nl.uu.net/pub/CPAN/
- ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
- ftp://ftp.cpan.nl/pub/CPAN/
- http://www.cs.uu.nl/mirror/CPAN/
- ftp://ftp.cs.uu.nl/mirror/CPAN/
+=item Greece
-=item *
-
-Norway
+ ftp://ftp.acn.gr/pub/lang/perl/CPAN
+ ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
+ ftp://ftp.ntua.gr/pub/lang/perl/
- ftp://ftp.uninett.no/pub/languages/perl/CPAN
- ftp://ftp.uit.no/pub/languages/perl/cpan/
+=item Hungary
-=item *
+ http://cpan.artifact.hu/
+ ftp://cpan.artifact.hu/CPAN/
+ http://ftp.kfki.hu/packages/perl/CPAN/
+ ftp://ftp.kfki.hu/pub/packages/perl/CPAN/
-Poland
+=item Iceland
- 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/
- ftp://sunsite.icm.edu.pl/pub/CPAN/
-
-=item *
+ http://ftp.rhnet.is/pub/CPAN/
+ ftp://ftp.rhnet.is/pub/CPAN/
-Portugal
+=item Ireland
- 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.ip.pt/
- ftp://cpan.ip.pt/pub/cpan/
- ftp://ftp.netc.pt/pub/CPAN/
- ftp://ftp.up.pt/pub/CPAN
+ http://cpan.indigo.ie/
+ ftp://cpan.indigo.ie/pub/CPAN/
+ http://sunsite.compapp.dcu.ie/pub/perl/
+ ftp://sunsite.compapp.dcu.ie/pub/perl/
-=item *
+=item Italy
-Romania
+ 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/
- 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/
+=item Latvia
-=item *
+ http://kvin.lv/pub/CPAN/
-Russia
+=item Lithuania
- ftp://ftp.chg.ru/pub/lang/perl/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.unix.lt/pub/CPAN/
-=item *
+=item Netherlands
-Slovakia
+ 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
+ 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://ftp.cvt.stuba.sk/pub/CPAN/
- ftp://ftp.cvt.stuba.sk/pub/CPAN/
+=item Norway
+
+ ftp://ftp.uninett.no/pub/languages/perl/CPAN
+ ftp://ftp.uit.no/pub/languages/perl/cpan/
+
+=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/
+ ftp://sunsite.icm.edu.pl/pub/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.ip.pt/
+ ftp://cpan.ip.pt/pub/cpan/
+ ftp://ftp.netc.pt/pub/CPAN/
+ ftp://ftp.up.pt/pub/CPAN
-=item *
+=item Romania
-Slovenia
+ 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/
- ftp://ftp.arnes.si/software/perl/CPAN/
+=item Russia
-=item *
+ ftp://ftp.chg.ru/pub/lang/perl/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/
-Spain
+=item Slovakia
- http://cpan.imasd.elmundo.es/
- ftp://ftp.rediris.es/mirror/CPAN/
- ftp://ftp.etse.urv.es/pub/perl/
+ http://ftp.cvt.stuba.sk/pub/CPAN/
+ ftp://ftp.cvt.stuba.sk/pub/CPAN/
-=item *
+=item Slovenia
-Sweden
+ ftp://ftp.arnes.si/software/perl/CPAN/
- 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/
+=item Spain
-=item *
+ http://cpan.imasd.elmundo.es/
+ ftp://ftp.rediris.es/mirror/CPAN/
+ ftp://ftp.etse.urv.es/pub/perl/
-Switzerland
+=item Sweden
- ftp://ftp.danyk.ch/CPAN/
- ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
+ 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/
-=item *
+=item Switzerland
-Turkey
+ ftp://ftp.danyk.ch/CPAN/
+ ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
- ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
+=item Turkey
-=item *
+ http://ftp.ulak.net.tr/perl/CPAN/
+ ftp://ftp.ulak.net.tr/perl/CPAN
+ ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
-Ukraine
+=item Ukraine
- http://cpan.org.ua/
- ftp://cpan.org.ua/
- ftp://ftp.perl.org.ua/pub/CPAN/
+ http://cpan.org.ua/
+ ftp://cpan.org.ua/
+ ftp://ftp.perl.org.ua/pub/CPAN/
-=item *
+=item United Kingdom
-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
- ftp://ftp.demon.co.uk/pub/CPAN/
- 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://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
+ 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/
=back
@@ -703,258 +646,192 @@ United Kingdom
=over 4
-=item *
-
-Canada
-
-=over 8
-
-=item *
+=item Alberta
-Alberta
+ http://sunsite.ualberta.ca/pub/Mirror/CPAN/
+ ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
- http://sunsite.ualberta.ca/pub/Mirror/CPAN/
- ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
+=item Manitoba
-=item *
+ http://theoryx5.uwinnipeg.ca/pub/CPAN/
+ ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
-Manitoba
+=item Nova Scotia
- http://theoryx5.uwinnipeg.ca/pub/CPAN/
- ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
+ ftp://cpan.chebucto.ns.ca/pub/CPAN/
-=item *
+=item Ontario
-Nova Scotia
+ ftp://ftp.crc.ca/pub/CPAN/
- ftp://cpan.chebucto.ns.ca/pub/CPAN/
+=item Quebec
-=item *
-
-Ontario
-
- ftp://ftp.crc.ca/pub/CPAN/
-
-=item *
+ http://cpan.mirror.smartworker.org/
-Quebec
+=item Mexico
- http://cpan.mirror.smartworker.org/
+ 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
-=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/
-
-=item *
-
-United States
-
-=over 8
-
-=item *
-
-Alabama
-
- http://mirror.hiwaay.net/CPAN/
- ftp://mirror.hiwaay.net/CPAN/
-
-=item *
-
-California
-
- 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://mirrors.kernel.org/cpan/
- ftp://mirrors.kernel.org/pub/CPAN
- http://cpan.digisle.net/
- ftp://cpan.digisle.net/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
+=head2 United States
- 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/
-
-=item *
-
-Florida
-
- ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
- http://mirror.csit.fsu.edu/pub/CPAN/
- ftp://mirror.csit.fsu.edu/pub/CPAN/
-
-=item *
-
-Illinois
-
- http://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
- ftp://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
+=over 4
-=item *
+=item Alabama
-Indiana
+ http://mirror.hiwaay.net/CPAN/
+ ftp://mirror.hiwaay.net/CPAN/
- 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 California
-=item *
+ 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://mirrors.kernel.org/cpan/
+ ftp://mirrors.kernel.org/pub/CPAN
+ http://cpan.digisle.net/
+ ftp://cpan.digisle.net/pub/CPAN
+ http://www.perl.com/CPAN/
+ http://download.sourceforge.net/mirrors/CPAN/
-Kentucky
+=item Colorado
- http://cpan.uky.edu/
- ftp://cpan.uky.edu/pub/CPAN/
+ ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
-=item *
+=item Delaware
-Massachusetts
+ http://ftp.lug.udel.edu/pub/CPAN
+ ftp://ftp.lug.udel.edu/pub/CPAN
- 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 District of Columbia
-=item *
+ ftp://ftp.dc.aleron.net/pub/CPAN/
-Michigan
+=item Florida
- ftp://cpan.cse.msu.edu/
+ 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/
-=item *
-
-New Jersey
-
- ftp://ftp.cpanel.net/pub/CPAN/
- http://cpan.teleglobe.net/
- ftp://cpan.teleglobe.net/pub/CPAN
-
-=item *
+=item Illinois
-New York
+ http://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
+ ftp://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
- ftp://ftp.exobit.org/pub/perl/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/
+=item Indiana
-=item *
+ 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
-North Carolina
+=item Kentucky
- ftp://ftp.duke.edu/pub/perl/
+ http://cpan.uky.edu/
+ ftp://cpan.uky.edu/pub/CPAN/
-=item *
+=item Massachusetts
-Ohio
+ ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
+ http://cpan.mirrors.netnumina.com/
+ ftp://mirrors.netnumina.com/cpan/
- ftp://ftp.loaded.net/pub/CPAN/
+=item Michigan
-=item *
+ ftp://cpan.cse.msu.edu/
-Oklahoma
+=item New Jersey
- ftp://ftp.ou.edu/mirrors/CPAN/
+ ftp://ftp.cpanel.net/pub/CPAN/
+ http://cpan.teleglobe.net/
+ ftp://cpan.teleglobe.net/pub/CPAN
-=item *
+=item New York
-Oregon
+ ftp://ftp.exobit.org/pub/perl/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/
- ftp://ftp.orst.edu/pub/CPAN
+=item North Carolina
-=item *
+ ftp://ftp.duke.edu/pub/perl/
-Pennsylvania
+=item Ohio
- 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/
+ ftp://ftp.loaded.net/pub/CPAN/
-=item *
+=item Oklahoma
-Tennessee
+ ftp://ftp.ou.edu/mirrors/CPAN/
- ftp://ftp.sunsite.utk.edu/pub/CPAN/
+=item Oregon
-=item *
+ ftp://ftp.orst.edu/pub/CPAN
-Texas
+=item Pennsylvania
- http://ftp.sedl.org/pub/mirrors/CPAN/
- ftp://mirror.telentente.com/pub/CPAN
+ 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 *
+=item Tennessee
-Utah
+ ftp://ftp.sunsite.utk.edu/pub/CPAN/
- ftp://mirror.xmission.com/CPAN/
+=item Texas
-=item *
+ http://ftp.sedl.org/pub/mirrors/CPAN/
+ ftp://mirror.telentente.com/pub/CPAN
-Virginia
+=item Utah
- http://mirrors.rcn.net/pub/lang/CPAN/
- ftp://mirrors.rcn.net/pub/lang/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.xmission.com/CPAN/
-=item *
+=item Virginia
-Washington
+ http://mirrors.rcn.net/pub/lang/CPAN/
+ ftp://mirrors.rcn.net/pub/lang/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/
- 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 ashington
-=item *
+ 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/
-Wisconsin
+=item Wisconsin
- http://mirror.sit.wisc.edu/pub/CPAN/
- ftp://mirror.sit.wisc.edu/pub/CPAN/
+ http://mirror.sit.wisc.edu/pub/CPAN/
+ ftp://mirror.sit.wisc.edu/pub/CPAN/
=back
@@ -962,20 +839,17 @@ Wisconsin
=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/
+=item Australia
-=item *
+ 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/
-New Zealand
+=item New Zealand
- ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
+ ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
+ http://cpan.soa.co.nz/CPAN/
=back
@@ -983,27 +857,52 @@ New Zealand
=over 4
-=item *
+=item Argentina
-Argentina
+ ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
+ http://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
+ ftp://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
- ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
+=item Brazil
-=item *
+ ftp://cpan.pop-mg.com.br/pub/CPAN/
+ ftp://ftp.matrix.com.br/pub/perl/CPAN/
-Brazil
+=item Chile
- ftp://cpan.pop-mg.com.br/pub/CPAN/
- ftp://ftp.matrix.com.br/pub/perl/CPAN/
-
-=item *
-
-Chile
-
- ftp://ftp.psinet.cl/pub/programming/perl/CPAN/
+ http://cpan.netglobalis.net/
+ ftp://cpan.netglobalis.net/pub/CPAN/
=back
+=head2 RSYNC Mirrors
+
+ ftp.fcaglp.unlp.edu.ar::CPAN
+ cpan.mirror.smartworker.org::CPAN
+ theoryx5.uwinnipeg.ca::CPAN
+ ftp.shellhung.org::CPAN
+ ftp.funet.fi::CPAN
+ ftp.u-paris10.fr::CPAN
+ mir1.ovh.net::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/
+ 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
+ mirrors.kernel.org::mirrors/CPAN
+ mirrors.phenominet.com::CPAN
+ mirror.csit.fsu.edu::CPAN
+ csociety-ftp.ecn.purdue.edu::CPAN
+
For an up-to-date listing of CPAN sites,
see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .
diff --git a/pod/perlmodlib.pod b/pod/perlmodlib.pod
index 067f75dc5a..9a44bc414d 100644
--- a/pod/perlmodlib.pod
+++ b/pod/perlmodlib.pod
@@ -1217,21 +1217,34 @@ Miscellaneous Modules
=back
-Registered CPAN sites as of this writing include the following.
-You should try to choose one close to you:
+The list of the registered CPAN sites as of this writing follows.
+Please note that the sorting order is alphabetical on fields:
+
+Continent
+ |
+ |-->Country
+ |
+ |-->[state/province]
+ |
+ |-->ftp
+ |
+ |-->[http]
+
+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.
=head2 Africa
=over 4
-=item *
-
-South Africa
+=item South Africa
- ftp://ftp.is.co.za/programming/perl/CPAN/
- ftp://ftp.mweb.co.za/pub/mirrors/cpan/
- ftp://ftp.saix.net/pub/CPAN/
- ftp://ftp.sun.ac.za/CPAN/CPAN/
+ ftp://ftp.is.co.za/programming/perl/CPAN/
+ ftp://ftp.mweb.co.za/pub/mirrors/cpan/
+ ftp://ftp.saix.net/pub/CPAN/
+ ftp://ftp.sun.ac.za/CPAN/CPAN/
=back
@@ -1239,113 +1252,93 @@ South Africa
=over 4
-=item *
-
-China
-
- 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
-
-=item *
-
-India
-
- http://cpan.in.freeos.com
- ftp://cpan.in.freeos.com/pub/CPAN/
-
-=item *
-
-Indonesia
-
- http://cpan.itb.web.id/
- ftp://mirrors.piksi.itb.ac.id/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/
-
-=item *
-
-Japan
+=item China
- 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.dti.ad.jp/pub/lang/CPAN/
- ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
+ 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
-=item *
+=item India
-Korea
+ http://cpan.in.freeos.com
+ ftp://cpan.in.freeos.com/pub/CPAN/
- http://mirror.Mazic.org/pub/CPAN
- ftp://mirror.Mazic.org/pub/CPAN
+=item Indonesia
-=item *
+ 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/
-Philippines
+=item Israel
- http://www.adzu.edu.ph/CPAN
+ 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/
-=item *
+=item Japan
-Russian Federation
+ 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.dti.ad.jp/pub/lang/CPAN/
+ ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
- http://cpan.tomsk.ru
- ftp://cpan.tomsk.ru/pub/CPAN
+=item Korea
-=item *
+ http://mirror.Mazic.org/pub/CPAN
+ ftp://mirror.Mazic.org/pub/CPAN
-Saudi Arabia
+=item Philippines
- ftp://ftp.isu.net.sa/pub/CPAN/
+ http://www.adzu.edu.ph/CPAN
-=item *
+=item Russian Federation
-Singapore
+ http://cpan.tomsk.ru
+ ftp://cpan.tomsk.ru/pub/CPAN
- http://cpan.hjc.edu.sg
+=item Saudi Arabia
-=item *
+ ftp://ftp.isu.net.sa/pub/CPAN/
-South Korea
+=item Singapore
- 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.hjc.edu.sg
+ http://mirror.averse.net/pub/CPAN
+ ftp://mirror.averse.net/pub/CPAN
-=item *
+=item South Korea
-Taiwan
+ 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
- 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/
+=item Taiwan
-=item *
+ 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/
-Thailand
+=item Thailand
- ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
+ ftp://ftp.loxinfo.co.th/pub/cpan/
+ ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
=back
@@ -1353,13 +1346,11 @@ Thailand
=over 4
-=item *
-
-Costa Rica
+=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/
+ ftp://ftp.linux.co.cr/mirrors/CPAN/
+ http://ftp.ucr.ac.cr/Unix/CPAN/
+ ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
=back
@@ -1367,290 +1358,242 @@ Costa Rica
=over 4
-=item *
-
-Austria
-
- ftp://ftp.tuwien.ac.at/pub/CPAN/
-
-=item *
-
-Belgium
-
- 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/
-
-=item *
-
-Bulgaria
-
- http://cpan.lirex.net/
- ftp://ftp.lirex.net/pub/mirrors/CPAN
+=item Austria
-=item *
-
-Croatia
-
- ftp://ftp.linux.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/
-
-=item *
-
-Denmark
-
- http://mirrors.sunsite.dk/cpan/
- ftp://sunsite.dk/mirrors/cpan/
- http://www.cpan.dk/CPAN/
- ftp://www.cpan.dk/ftp.cpan.org/CPAN/
-
-=item *
-
-Estonia
-
- ftp://ftp.ut.ee/pub/languages/perl/CPAN/
-
-=item *
-
-Finland
-
- ftp://ftp.funet.fi/pub/languages/perl/CPAN/
- http://cpan.kpnqwest.fi/
-
-=item *
-
-France
+ ftp://ftp.tuwien.ac.at/pub/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/
- ftp://ftp.lip6.fr/pub/perl/CPAN/
- ftp://ftp.oleane.net/pub/mirrors/CPAN/
- ftp://ftp.pasteur.fr/pub/computing/CPAN/
- http://cpan.cict.fr/
- ftp://cpan.cict.fr/pub/CPAN/
- ftp://ftp.uvsq.fr/pub/perl/CPAN/
+=item Belgium
-=item *
-
-Germany
-
- ftp://ftp.rz.ruhr-uni-bochum.de/pub/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
- ftp://ftp.gigabell.net/pub/CPAN/
- http://pandemonium.tiscali.de/pub/CPAN/
- ftp://pandemonium.tiscali.de/pub/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://cpan.noris.de/
- ftp://cpan.noris.de/pub/CPAN/
- ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
- ftp://ftp.gmd.de/mirrors/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/
-
-=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/
-
-=item *
+ 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/
-Iceland
+=item Bulgaria
- http://ftp.rhnet.is/pub/CPAN/
- ftp://ftp.rhnet.is/pub/CPAN/
+ http://cpan.lirex.net/
+ ftp://ftp.lirex.net/pub/mirrors/CPAN
-=item *
+=item Croatia
-Ireland
+ http://ftp.linux.hr/pub/CPAN/
+ ftp://ftp.linux.hr/pub/CPAN/
- http://cpan.indigo.ie/
- ftp://cpan.indigo.ie/pub/CPAN/
- http://sunsite.compapp.dcu.ie/pub/perl/
- ftp://sunsite.compapp.dcu.ie/pub/perl/
+=item Czech Republic
-=item *
+ 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/
-Italy
+=item Denmark
- 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://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 *
+=item Estonia
-Latvia
+ ftp://ftp.ut.ee/pub/languages/perl/CPAN/
- http://kvin.lv/pub/CPAN/
+=item Finland
-=item *
+ ftp://ftp.funet.fi/pub/languages/perl/CPAN/
+ http://cpan.kpnqwest.fi/
-Lithuania
+=item France
- ftp://ftp.unix.lt/pub/CPAN/
+ 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/
+ 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://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 *
+=item Germany
-Netherlands
+ ftp://ftp.rz.ruhr-uni-bochum.de/pub/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.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://cpan.noris.de/
+ ftp://cpan.noris.de/pub/CPAN/
+ ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
+ ftp://ftp.gmd.de/mirrors/CPAN/
- ftp://download.xs4all.nl/pub/mirror/CPAN/
- ftp://ftp.nl.uu.net/pub/CPAN/
- ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
- ftp://ftp.cpan.nl/pub/CPAN/
- http://www.cs.uu.nl/mirror/CPAN/
- ftp://ftp.cs.uu.nl/mirror/CPAN/
+=item Greece
-=item *
-
-Norway
+ ftp://ftp.acn.gr/pub/lang/perl/CPAN
+ ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
+ ftp://ftp.ntua.gr/pub/lang/perl/
- ftp://ftp.uninett.no/pub/languages/perl/CPAN
- ftp://ftp.uit.no/pub/languages/perl/cpan/
+=item Hungary
-=item *
+ http://cpan.artifact.hu/
+ ftp://cpan.artifact.hu/CPAN/
+ http://ftp.kfki.hu/packages/perl/CPAN/
+ ftp://ftp.kfki.hu/pub/packages/perl/CPAN/
-Poland
+=item Iceland
- 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/
- ftp://sunsite.icm.edu.pl/pub/CPAN/
-
-=item *
+ http://ftp.rhnet.is/pub/CPAN/
+ ftp://ftp.rhnet.is/pub/CPAN/
-Portugal
+=item Ireland
- 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.ip.pt/
- ftp://cpan.ip.pt/pub/cpan/
- ftp://ftp.netc.pt/pub/CPAN/
- ftp://ftp.up.pt/pub/CPAN
+ http://cpan.indigo.ie/
+ ftp://cpan.indigo.ie/pub/CPAN/
+ http://sunsite.compapp.dcu.ie/pub/perl/
+ ftp://sunsite.compapp.dcu.ie/pub/perl/
-=item *
+=item Italy
-Romania
+ 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/
- 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/
+=item Latvia
-=item *
+ http://kvin.lv/pub/CPAN/
-Russia
+=item Lithuania
- ftp://ftp.chg.ru/pub/lang/perl/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.unix.lt/pub/CPAN/
-=item *
+=item Netherlands
-Slovakia
+ 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
+ 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://ftp.cvt.stuba.sk/pub/CPAN/
- ftp://ftp.cvt.stuba.sk/pub/CPAN/
+=item Norway
+
+ ftp://ftp.uninett.no/pub/languages/perl/CPAN
+ ftp://ftp.uit.no/pub/languages/perl/cpan/
+
+=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/
+ ftp://sunsite.icm.edu.pl/pub/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.ip.pt/
+ ftp://cpan.ip.pt/pub/cpan/
+ ftp://ftp.netc.pt/pub/CPAN/
+ ftp://ftp.up.pt/pub/CPAN
-=item *
+=item Romania
-Slovenia
+ 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/
- ftp://ftp.arnes.si/software/perl/CPAN/
+=item Russia
-=item *
+ ftp://ftp.chg.ru/pub/lang/perl/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/
-Spain
+=item Slovakia
- http://cpan.imasd.elmundo.es/
- ftp://ftp.rediris.es/mirror/CPAN/
- ftp://ftp.etse.urv.es/pub/perl/
+ http://ftp.cvt.stuba.sk/pub/CPAN/
+ ftp://ftp.cvt.stuba.sk/pub/CPAN/
-=item *
+=item Slovenia
-Sweden
+ ftp://ftp.arnes.si/software/perl/CPAN/
- 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/
+=item Spain
-=item *
+ http://cpan.imasd.elmundo.es/
+ ftp://ftp.rediris.es/mirror/CPAN/
+ ftp://ftp.etse.urv.es/pub/perl/
-Switzerland
+=item Sweden
- ftp://ftp.danyk.ch/CPAN/
- ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
+ 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/
-=item *
+=item Switzerland
-Turkey
+ ftp://ftp.danyk.ch/CPAN/
+ ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
- ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
+=item Turkey
-=item *
+ http://ftp.ulak.net.tr/perl/CPAN/
+ ftp://ftp.ulak.net.tr/perl/CPAN
+ ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
-Ukraine
+=item Ukraine
- http://cpan.org.ua/
- ftp://cpan.org.ua/
- ftp://ftp.perl.org.ua/pub/CPAN/
+ http://cpan.org.ua/
+ ftp://cpan.org.ua/
+ ftp://ftp.perl.org.ua/pub/CPAN/
-=item *
+=item United Kingdom
-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
- ftp://ftp.demon.co.uk/pub/CPAN/
- 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://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
+ 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/
=back
@@ -1658,258 +1601,192 @@ United Kingdom
=over 4
-=item *
-
-Canada
-
-=over 8
-
-=item *
+=item Alberta
-Alberta
+ http://sunsite.ualberta.ca/pub/Mirror/CPAN/
+ ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
- http://sunsite.ualberta.ca/pub/Mirror/CPAN/
- ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
+=item Manitoba
-=item *
+ http://theoryx5.uwinnipeg.ca/pub/CPAN/
+ ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
-Manitoba
+=item Nova Scotia
- http://theoryx5.uwinnipeg.ca/pub/CPAN/
- ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
+ ftp://cpan.chebucto.ns.ca/pub/CPAN/
-=item *
+=item Ontario
-Nova Scotia
+ ftp://ftp.crc.ca/pub/CPAN/
- ftp://cpan.chebucto.ns.ca/pub/CPAN/
+=item Quebec
-=item *
-
-Ontario
-
- ftp://ftp.crc.ca/pub/CPAN/
-
-=item *
+ http://cpan.mirror.smartworker.org/
-Quebec
+=item Mexico
- http://cpan.mirror.smartworker.org/
+ 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
-=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/
-
-=item *
-
-United States
-
-=over 8
-
-=item *
-
-Alabama
-
- http://mirror.hiwaay.net/CPAN/
- ftp://mirror.hiwaay.net/CPAN/
-
-=item *
-
-California
-
- 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://mirrors.kernel.org/cpan/
- ftp://mirrors.kernel.org/pub/CPAN
- http://cpan.digisle.net/
- ftp://cpan.digisle.net/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
+=head2 United States
- 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/
-
-=item *
-
-Florida
-
- ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
- http://mirror.csit.fsu.edu/pub/CPAN/
- ftp://mirror.csit.fsu.edu/pub/CPAN/
-
-=item *
-
-Illinois
-
- http://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
- ftp://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
+=over 4
-=item *
+=item Alabama
-Indiana
+ http://mirror.hiwaay.net/CPAN/
+ ftp://mirror.hiwaay.net/CPAN/
- 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 California
-=item *
+ 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://mirrors.kernel.org/cpan/
+ ftp://mirrors.kernel.org/pub/CPAN
+ http://cpan.digisle.net/
+ ftp://cpan.digisle.net/pub/CPAN
+ http://www.perl.com/CPAN/
+ http://download.sourceforge.net/mirrors/CPAN/
-Kentucky
+=item Colorado
- http://cpan.uky.edu/
- ftp://cpan.uky.edu/pub/CPAN/
+ ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
-=item *
+=item Delaware
-Massachusetts
+ http://ftp.lug.udel.edu/pub/CPAN
+ ftp://ftp.lug.udel.edu/pub/CPAN
- 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 District of Columbia
-=item *
+ ftp://ftp.dc.aleron.net/pub/CPAN/
-Michigan
+=item Florida
- ftp://cpan.cse.msu.edu/
+ 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/
-=item *
-
-New Jersey
-
- ftp://ftp.cpanel.net/pub/CPAN/
- http://cpan.teleglobe.net/
- ftp://cpan.teleglobe.net/pub/CPAN
-
-=item *
+=item Illinois
-New York
+ http://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
+ ftp://uiarchive.uiuc.edu/mirrors/ftp/cpan.cse.msu.edu/
- ftp://ftp.exobit.org/pub/perl/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/
+=item Indiana
-=item *
+ 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
-North Carolina
+=item Kentucky
- ftp://ftp.duke.edu/pub/perl/
+ http://cpan.uky.edu/
+ ftp://cpan.uky.edu/pub/CPAN/
-=item *
+=item Massachusetts
-Ohio
+ ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
+ http://cpan.mirrors.netnumina.com/
+ ftp://mirrors.netnumina.com/cpan/
- ftp://ftp.loaded.net/pub/CPAN/
+=item Michigan
-=item *
+ ftp://cpan.cse.msu.edu/
-Oklahoma
+=item New Jersey
- ftp://ftp.ou.edu/mirrors/CPAN/
+ ftp://ftp.cpanel.net/pub/CPAN/
+ http://cpan.teleglobe.net/
+ ftp://cpan.teleglobe.net/pub/CPAN
-=item *
+=item New York
-Oregon
+ ftp://ftp.exobit.org/pub/perl/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/
- ftp://ftp.orst.edu/pub/CPAN
+=item North Carolina
-=item *
+ ftp://ftp.duke.edu/pub/perl/
-Pennsylvania
+=item Ohio
- 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/
+ ftp://ftp.loaded.net/pub/CPAN/
-=item *
+=item Oklahoma
-Tennessee
+ ftp://ftp.ou.edu/mirrors/CPAN/
- ftp://ftp.sunsite.utk.edu/pub/CPAN/
+=item Oregon
-=item *
+ ftp://ftp.orst.edu/pub/CPAN
-Texas
+=item Pennsylvania
- http://ftp.sedl.org/pub/mirrors/CPAN/
- ftp://mirror.telentente.com/pub/CPAN
+ 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 *
+=item Tennessee
-Utah
+ ftp://ftp.sunsite.utk.edu/pub/CPAN/
- ftp://mirror.xmission.com/CPAN/
+=item Texas
-=item *
+ http://ftp.sedl.org/pub/mirrors/CPAN/
+ ftp://mirror.telentente.com/pub/CPAN
-Virginia
+=item Utah
- http://mirrors.rcn.net/pub/lang/CPAN/
- ftp://mirrors.rcn.net/pub/lang/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.xmission.com/CPAN/
-=item *
+=item Virginia
-Washington
+ http://mirrors.rcn.net/pub/lang/CPAN/
+ ftp://mirrors.rcn.net/pub/lang/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/
- 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 ashington
-=item *
+ 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/
-Wisconsin
+=item Wisconsin
- http://mirror.sit.wisc.edu/pub/CPAN/
- ftp://mirror.sit.wisc.edu/pub/CPAN/
+ http://mirror.sit.wisc.edu/pub/CPAN/
+ ftp://mirror.sit.wisc.edu/pub/CPAN/
=back
@@ -1917,20 +1794,17 @@ Wisconsin
=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/
+=item Australia
-=item *
+ 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/
-New Zealand
+=item New Zealand
- ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
+ ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
+ http://cpan.soa.co.nz/CPAN/
=back
@@ -1938,27 +1812,52 @@ New Zealand
=over 4
-=item *
+=item Argentina
-Argentina
+ ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
+ http://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
+ ftp://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
- ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
+=item Brazil
-=item *
+ ftp://cpan.pop-mg.com.br/pub/CPAN/
+ ftp://ftp.matrix.com.br/pub/perl/CPAN/
-Brazil
+=item Chile
- ftp://cpan.pop-mg.com.br/pub/CPAN/
- ftp://ftp.matrix.com.br/pub/perl/CPAN/
-
-=item *
-
-Chile
-
- ftp://ftp.psinet.cl/pub/programming/perl/CPAN/
+ http://cpan.netglobalis.net/
+ ftp://cpan.netglobalis.net/pub/CPAN/
=back
+=head2 RSYNC Mirrors
+
+ ftp.fcaglp.unlp.edu.ar::CPAN
+ cpan.mirror.smartworker.org::CPAN
+ theoryx5.uwinnipeg.ca::CPAN
+ ftp.shellhung.org::CPAN
+ ftp.funet.fi::CPAN
+ ftp.u-paris10.fr::CPAN
+ mir1.ovh.net::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/
+ 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
+ mirrors.kernel.org::mirrors/CPAN
+ mirrors.phenominet.com::CPAN
+ mirror.csit.fsu.edu::CPAN
+ csociety-ftp.ecn.purdue.edu::CPAN
+
For an up-to-date listing of CPAN sites,
see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .
diff --git a/pod/perlport.pod b/pod/perlport.pod
index fffb1bc1d5..82551ff1d3 100644
--- a/pod/perlport.pod
+++ b/pod/perlport.pod
@@ -2077,7 +2077,6 @@ available at http://www.cpan.org/src/index.html
BeOS
Cygwin
DG/UX
- DOS DJGPP 1)
DYNIX/ptx
EPOC R5
FreeBSD
@@ -2105,13 +2104,12 @@ available at http://www.cpan.org/src/index.html
UNICOS/mk
UTS
VOS
- Win95/98/ME/2K/XP 2)
+ Win95/98/ME/2K/XP 1)
WinCE
z/OS (OS/390)
VM/ESA
- 1) in DOS mode either the DOS or OS/2 ports can be used
- 2) compilers: Borland, MinGW (GCC), VC6
+ 1) compilers: Borland, MinGW (GCC), VC6
The following platforms worked with the previous releases (5.6 and
5.7), but we did not manage either to fix or to test these in time
@@ -2133,6 +2131,12 @@ Known to be broken for 5.8.0 (but 5.6.1 and 5.7.2 can be used):
AmigaOS
+Known to be broken for 5.8.0 (but 5.6.1 and 5.7.3 can be used):
+
+ DOS DJGPP 1)
+
+ 1) in DOS mode either the DOS or OS/2 ports can be used
+
The following platforms have been known to build Perl from source in
the past (5.005_03 and earlier), but we haven't been able to verify
their status for the current release, either because the
diff --git a/pod/perltoc.pod b/pod/perltoc.pod
index 740b0f54e3..85332e0b39 100644
--- a/pod/perltoc.pod
+++ b/pod/perltoc.pod
@@ -2699,18 +2699,46 @@ Unicode::UCD, User::grent, User::pwent, Win32
=item Africa
+South Africa
+
=item Asia
+China, India, Indonesia, Israel, Japan, Korea, Philippines, Russian
+Federation, Saudi Arabia, Singapore, South Korea, Taiwan, Thailand
+
=item Central America
+Costa Rica
+
=item Europe
+Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Estonia,
+Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia,
+Lithuania, Netherlands, Norway, Poland, Portugal, Romania, Russia,
+Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey, Ukraine, United
+Kingdom
+
=item North America
+Alberta, Manitoba, Nova Scotia, Ontario, Quebec, Mexico
+
+=item United States
+
+Alabama, California, Colorado, Delaware, District of Columbia, Florida,
+Illinois, Indiana, Kentucky, Massachusetts, Michigan, New Jersey, New York,
+North Carolina, Ohio, Oklahoma, Oregon, Pennsylvania, Tennessee, Texas,
+Utah, Virginia, ashington, Wisconsin
+
=item Oceania
+Australia, New Zealand
+
=item South America
+Argentina, Brazil, Chile
+
+=item RSYNC Mirrors
+
=back
=item Modules: Creation, Use, and Abuse
@@ -8356,10 +8384,12 @@ threads->list();, async BLOCK;
A thread exited while %d other threads were still running
-=item BUGS / TODO
+=item TODO
+
+=item BUGS
-Parent-Child threads, tid is I32, Returning objects, PERL_OLD_SIGNALS are
-not threadsafe, will not be
+Parent-Child threads, Returning objects, Creating threads inside BEGIN
+blocks, PERL_OLD_SIGNALS are not threadsafe, will not be
=item AUTHOR and COPYRIGHT
@@ -9025,10 +9055,12 @@ threads->list();, async BLOCK;
A thread exited while %d other threads were still running
-=item BUGS / TODO
+=item TODO
+
+=item BUGS
-Parent-Child threads, tid is I32, Returning objects, PERL_OLD_SIGNALS are
-not threadsafe, will not be
+Parent-Child threads, Returning objects, Creating threads inside BEGIN
+blocks, PERL_OLD_SIGNALS are not threadsafe, will not be
=item AUTHOR and COPYRIGHT
diff --git a/pp_sys.c b/pp_sys.c
index 88f45c3ee6..2639fe9019 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -4049,18 +4049,21 @@ PP(pp_system)
I32 did_pipes = 0;
if (PL_tainting) {
+ int some_arg_tainted = 0;
TAINT_ENV();
while (++MARK <= SP) {
(void)SvPV_nolen(*MARK); /* stringify for taint check */
- if (PL_tainted)
+ if (PL_tainted) {
+ some_arg_tainted = 1;
break;
+ }
}
MARK = ORIGMARK;
/* XXX Remove warning at end of deprecation cycle --RD 2002-02 */
if (SP - MARK == 1) {
TAINT_PROPER("system");
}
- else if (ckWARN2(WARN_TAINT, WARN_DEPRECATED)) {
+ else if (some_arg_tainted && ckWARN2(WARN_TAINT, WARN_DEPRECATED)) {
Perl_warner(aTHX_ packWARN2(WARN_TAINT, WARN_DEPRECATED),
"Use of tainted arguments in %s is deprecated", "system");
}
@@ -4175,18 +4178,21 @@ PP(pp_exec)
STRLEN n_a;
if (PL_tainting) {
+ int some_arg_tainted = 0;
TAINT_ENV();
while (++MARK <= SP) {
(void)SvPV_nolen(*MARK); /* stringify for taint check */
- if (PL_tainted)
+ if (PL_tainted) {
+ some_arg_tainted = 1;
break;
+ }
}
MARK = ORIGMARK;
/* XXX Remove warning at end of deprecation cycle --RD 2002-02 */
if (SP - MARK == 1) {
TAINT_PROPER("exec");
}
- else if (ckWARN2(WARN_TAINT, WARN_DEPRECATED)) {
+ else if (some_arg_tainted && ckWARN2(WARN_TAINT, WARN_DEPRECATED)) {
Perl_warner(aTHX_ packWARN2(WARN_TAINT, WARN_DEPRECATED),
"Use of tainted arguments in %s is deprecated", "exec");
}
diff --git a/regexec.c b/regexec.c
index 4f403a0443..5a7ed12f65 100644
--- a/regexec.c
+++ b/regexec.c
@@ -2805,7 +2805,7 @@ S_regmatch(pTHX_ regnode *prog)
CALLRUNOPS(aTHX); /* Scalar context. */
SPAGAIN;
if (SP == before)
- ret = Nullsv; /* protect against empty (?{}) blocks. */
+ ret = &PL_sv_undef; /* protect against empty (?{}) blocks. */
else {
ret = POPs;
PUTBACK;
diff --git a/sv.c b/sv.c
index 9a287af96b..dd44025ddb 100644
--- a/sv.c
+++ b/sv.c
@@ -7959,7 +7959,9 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
goto string;
}
- if (!args)
+ if (vectorize)
+ argsv = vecsv;
+ else if (!args)
argsv = (efix ? efix <= svmax : svix < svmax) ?
svargs[efix ? efix-1 : svix++] : &PL_sv_undef;
@@ -7968,7 +7970,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
/* STRINGS */
case 'c':
- uv = args ? va_arg(*args, int) : SvIVx(argsv);
+ uv = (args && !vectorize) ? va_arg(*args, int) : SvIVx(argsv);
if ((uv > 255 ||
(!UNI_IS_INVARIANT(uv) && SvUTF8(sv)))
&& !IN_BYTES) {
@@ -7984,7 +7986,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
goto string;
case 's':
- if (args) {
+ if (args && !vectorize) {
eptr = va_arg(*args, char*);
if (eptr)
#ifdef MACOS_TRADITIONAL
@@ -8021,7 +8023,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
* if ISO or ANSI decide to use '_' for something.
* So we keep it hidden from users' code.
*/
- if (!args)
+ if (!args || vectorize)
goto unknown;
argsv = va_arg(*args, SV*);
eptr = SvPVx(argsv, elen);
@@ -8037,7 +8039,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
/* INTEGERS */
case 'p':
- if (alt)
+ if (alt || vectorize)
goto unknown;
uv = PTR2UV(args ? va_arg(*args, void*) : argsv);
base = 16;
@@ -8252,7 +8254,6 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
/* This is evil, but floating point is even more evil */
- vectorize = FALSE;
/* for SV-style calling, we can only get NV
for C-style calling, we assume %f is double;
for simplicity we allow any of %Lf, %llf, %qf for long double
@@ -8281,7 +8282,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
}
/* now we need (long double) if intsize == 'q', else (double) */
- nv = args ?
+ nv = (args && !vectorize) ?
#if LONG_DOUBLESIZE > DOUBLESIZE
intsize == 'q' ?
va_arg(*args, long double) :
@@ -8292,6 +8293,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
: SvNVx(argsv);
need = 0;
+ vectorize = FALSE;
if (c != 'e' && c != 'E') {
i = PERL_INT_MIN;
/* FIXME: if HAS_LONG_DOUBLE but not USE_LONG_DOUBLE this
@@ -8365,9 +8367,8 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
/* SPECIAL */
case 'n':
- vectorize = FALSE;
i = SvCUR(sv) - origlen;
- if (args) {
+ if (args && !vectorize) {
switch (intsize) {
case 'h': *(va_arg(*args, short*)) = i; break;
default: *(va_arg(*args, int*)) = i; break;
@@ -8380,6 +8381,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
}
else
sv_setuv_mg(argsv, (UV)i);
+ vectorize = FALSE;
continue; /* not "break" */
/* UNKNOWN */
diff --git a/t/op/re_tests b/t/op/re_tests
index 7ced95cd6b..9c5ddc4f2f 100644
--- a/t/op/re_tests
+++ b/t/op/re_tests
@@ -921,3 +921,4 @@ ab(?i)cd abCd y - -
(.*?)(?<=[bc]) abcd y $1 ab
(.*?)(?<=[bc])c abcd y $1 ab
2(]*)?$\1 2 y $& 2
+(??{}) x y - -
diff --git a/t/op/sprintf.t b/t/op/sprintf.t
index 01b36fe7e5..c67e65e9d4 100755
--- a/t/op/sprintf.t
+++ b/t/op/sprintf.t
@@ -361,3 +361,9 @@ __END__
>%*2$*2$d< >[12, 3]< >%*2$*2$d INVALID<
>%*2*2$d< >[12, 3]< >%*2*2$d INVALID<
>%0v2.2d< >''< ><
+>%vc,%d< >[63, 64, 65]< >?,64<
+>%vd,%d< >[1, 2, 3]< >49,2<
+>%vf,%d< >[1, 2, 3]< >1.000000,2<
+>%vp< >''< >%vp INVALID<
+>%vs,%d< >[1, 2, 3]< >1,2<
+>%v_< >''< >%v_ INVALID<
diff --git a/t/op/taint.t b/t/op/taint.t
index bbe643cbd7..624d0305e8 100755
--- a/t/op/taint.t
+++ b/t/op/taint.t
@@ -124,7 +124,7 @@ my $echo = "$Invoke_Perl $ECHO";
my $TEST = catfile(curdir(), 'TEST');
-print "1..203\n";
+print "1..205\n";
# First, let's make sure that Perl is checking the dangerous
# environment variables. Maybe they aren't set yet, so we'll
@@ -452,7 +452,7 @@ else {
test 87, $@ eq '', $@;
}
else {
- for (86..87) { print "ok $_ # Skipped: this is not VMS\n"; }
+ for (86..87) { print "ok $_ # Skipped: This is not VMS\n"; }
}
}
@@ -935,7 +935,7 @@ else
test 183, $@ =~ /^Insecure \$ENV/;
}
if ($Is_VMS) {
- for (184..203) {print "not ok $_ # TODO tainted %ENV warning occludes tainted arguments warning\n";}
+ for (184..205) {print "not ok $_ # TODO tainted %ENV warning occludes tainted arguments warning\n";}
}
else
{
@@ -957,12 +957,17 @@ else
test 194, eval { system $TAINT, $TAINT } eq '', 'system';
test 195, $@ =~ $err, $@;
- test 196, eval { system $TAINT $TAINT } eq '', 'exec';
+ test 196, eval { system $TAINT $TAINT } eq '', 'system';
test 197, $@ =~ $err, $@;
- test 198, eval { system $TAINT $TAINT, $TAINT } eq '', 'exec';
+ test 198, eval { system $TAINT $TAINT, $TAINT } eq '', 'system';
test 199, $@ =~ $err, $@;
- test 200, eval { system $TAINT 'notaint' } eq '', 'exec';
+ test 200, eval { system $TAINT 'notaint' } eq '', 'system';
test 201, $@ =~ $err, $@;
- test 202, eval { system {'notaint'} $TAINT } eq '', 'exec';
+ test 202, eval { system {'notaint'} $TAINT } eq '', 'system';
test 203, $@ =~ $err, $@;
+
+ eval { system("lskdfj does not exist","with","args"); };
+ test 204, $@ eq '';
+ eval { exec("lskdfj does not exist","with","args"); };
+ test 205, $@ eq '';
}
diff --git a/utils/perlbug.PL b/utils/perlbug.PL
index cf2103db78..0fca884b9d 100644
--- a/utils/perlbug.PL
+++ b/utils/perlbug.PL
@@ -228,7 +228,7 @@ sub Init {
$perlbug = 'perlbug@perl.org';
# Test address
- $testaddress = 'perlbug-test@perl.com';
+ $testaddress = 'perlbug-test@perl.org';
# Target address
$address = $::opt_a || ($::opt_t ? $testaddress : $perlbug);
@@ -1135,7 +1135,7 @@ version of perl comes out and your bug is still present.
=item B<-a>
-Address to send the report to. Defaults to `perlbug@perl.org'.
+Address to send the report to. Defaults to B<perlbug@perl.org>.
=item B<-A>
@@ -1227,7 +1227,7 @@ supply one on the command line.
=item B<-t>
-Test mode. The target address defaults to `perlbug-test@perl.com'.
+Test mode. The target address defaults to B<perlbug-test@perl.org>.
=item B<-v>