Change 20045 by [EMAIL PROTECTED] on 2003/07/07 05:00:40

        Integrate:
        [ 20030]
        Subject: [PATCH] for pod/perlfaq2.pod against latest snapshot for Alpaca
        From: [EMAIL PROTECTED] (Randal L. Schwartz)
        Date: 05 Jul 2003 16:29:14 -0700
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 20034]
        Subject: [PATCH @19834] DProf fixes
        From: Radu Greab <[EMAIL PROTECTED]>
        Date: Sun, 6 Jul 2003 20:09:12 +0300
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 20035]
        PerlIOBase_pushed seems to have gone missing in change#20018
        
        [ 20036]
        yet another symbol missing in change#20018
        
        [ 20039]
        Update the CPAN mirrors list.
        
        [ 20040]
        Subject: Re: [perl #5025] #line directive explination wrong
        From: Casey West <[EMAIL PROTECTED]>
        Date: Sun, 6 Jul 2003 18:24:46 -0400
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 20041]
        Upgrade BigInt and BigRat
        Subject: BigInt v1.65, Bigrat v0.10 - reloaded
        From: Tels <[EMAIL PROTECTED]>
        Date: Sun, 6 Jul 2003 15:41:36 +0200
        Message-Id: <[EMAIL PROTECTED]>
        
        [ 20042]
        MPE/iX tweak from Mark Bixby.
        
        [ 20043]
        Use the existence, instead of the truth, to decide
        whether to scan for a symbol.
        (Also remove trailing spaces.)

Affected files ...

... //depot/maint-5.8/perl/MANIFEST#72 integrate
... //depot/maint-5.8/perl/ext/Devel/DProf/DProf.pm#3 integrate
... //depot/maint-5.8/perl/ext/Devel/DProf/DProf.t#3 integrate
... //depot/maint-5.8/perl/ext/Devel/DProf/DProf.xs#4 integrate
... //depot/maint-5.8/perl/ext/Time/HiRes/Makefile.PL#16 integrate
... //depot/maint-5.8/perl/lib/Math/BigFloat.pm#4 integrate
... //depot/maint-5.8/perl/lib/Math/BigInt.pm#5 integrate
... //depot/maint-5.8/perl/lib/Math/BigInt/Calc.pm#4 integrate
... //depot/maint-5.8/perl/lib/Math/BigInt/t/biglog.t#2 integrate
... //depot/maint-5.8/perl/lib/Math/BigInt/t/mbimbf.t#4 integrate
... //depot/maint-5.8/perl/lib/Math/BigRat.pm#4 integrate
... //depot/maint-5.8/perl/lib/Math/BigRat/t/bigrat.t#4 integrate
... //depot/maint-5.8/perl/lib/Math/BigRat/t/bigratpm.inc#4 integrate
... //depot/maint-5.8/perl/lib/Math/BigRat/t/bigratpm.t#3 integrate
... //depot/maint-5.8/perl/makedef.pl#12 integrate
... //depot/maint-5.8/perl/perl.c#41 integrate
... //depot/maint-5.8/perl/pod/perldiag.pod#28 integrate
... //depot/maint-5.8/perl/pod/perlfaq2.pod#5 integrate
... //depot/maint-5.8/perl/pod/perlmodlib.PL#5 integrate
... //depot/maint-5.8/perl/pod/perlmodlib.pod#7 integrate
... //depot/maint-5.8/perl/pod/perlsyn.pod#6 integrate
... //depot/maint-5.8/perl/pod/perltodo.pod#4 integrate
... //depot/maint-5.8/perl/pod/perlvar.pod#19 integrate
... //depot/maint-5.8/perl/pp_ctl.c#31 integrate
... //depot/maint-5.8/perl/t/lib/dprof/test7_t#1 branch
... //depot/maint-5.8/perl/t/lib/dprof/test7_v#1 branch
... //depot/maint-5.8/perl/t/lib/dprof/test8_t#1 branch
... //depot/maint-5.8/perl/t/lib/dprof/test8_v#1 branch

Differences ...

==== //depot/maint-5.8/perl/MANIFEST#72 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#71~20044~     Sun Jul  6 21:52:33 2003
+++ perl/MANIFEST       Sun Jul  6 22:00:40 2003
@@ -2537,6 +2537,10 @@
 t/lib/dprof/test5_v            Perl code profiler tests
 t/lib/dprof/test6_t            Perl code profiler tests
 t/lib/dprof/test6_v            Perl code profiler tests
+t/lib/dprof/test7_t            Perl code profiler tests
+t/lib/dprof/test7_v            Perl code profiler tests
+t/lib/dprof/test8_t            Perl code profiler tests
+t/lib/dprof/test8_v            Perl code profiler tests
 t/lib/dprof/V.pm               Perl code profiler tests
 t/lib/filter-util.pl           See if Filter::Util::Call works
 t/lib/Filter/Simple/ExportTest.pm      Helper file for Filter::Simple tests

==== //depot/maint-5.8/perl/ext/Devel/DProf/DProf.pm#3 (text) ====
Index: perl/ext/Devel/DProf/DProf.pm
--- perl/ext/Devel/DProf/DProf.pm#2~18535~      Mon Jan 20 18:49:55 2003
+++ perl/ext/Devel/DProf/DProf.pm       Sun Jul  6 22:00:40 2003
@@ -154,6 +154,24 @@
 change the numeric slot (it will I<mark> it as invalid, but will not
 write over it).
 
+Another problem is that if a subroutine exits using goto(LABEL),
+last(LABEL) or next(LABEL) then perl may crash or Devel::DProf will die
+with the error:
+
+   panic: Devel::DProf inconsistent subroutine return
+
+For example, this code will break under Devel::DProf:
+
+   sub foo {
+     last FOO;
+   }
+   FOO: {
+     foo();
+   }
+
+A pattern like this is used by Test::More's skip() function, for
+example.  See L<perldiag> for more details.
+
 Mail bug reports and feature requests to the perl5-porters mailing list at
 F<E<lt>[EMAIL PROTECTED]<gt>>.
 

==== //depot/maint-5.8/perl/ext/Devel/DProf/DProf.t#3 (text) ====
Index: perl/ext/Devel/DProf/DProf.t
--- perl/ext/Devel/DProf/DProf.t#2~19922~       Tue Jul  1 22:43:27 2003
+++ perl/ext/Devel/DProf/DProf.t        Sun Jul  6 22:00:40 2003
@@ -73,7 +73,7 @@
 
 
 $| = 1;
-print "1..18\n";
+print "1..20\n";
 while( @tests ){
        $test = shift @tests;
         $test =~ s/\.$// if $^O eq 'VMS';

==== //depot/maint-5.8/perl/ext/Devel/DProf/DProf.xs#4 (text) ====
Index: perl/ext/Devel/DProf/DProf.xs
--- perl/ext/Devel/DProf/DProf.xs#3~18535~      Mon Jan 20 18:49:55 2003
+++ perl/ext/Devel/DProf/DProf.xs       Sun Jul  6 22:00:40 2003
@@ -15,11 +15,30 @@
 #define ASSERT(x)
 #endif
 
+static CV *
+db_get_cv(pTHX_ SV *sv)
+{
+       CV *cv;
+
+       if (PERLDB_SUB_NN) {
+           cv = INT2PTR(CV*,SvIVX(sv));
+       } else {
+           if (SvPOK(sv)) {
+               cv = get_cv(SvPVX(sv), TRUE);
+           } else if (SvROK(sv)) {
+               cv = (CV*)SvRV(sv);
+           } else {
+               croak("DProf: don't know what subroutine to profile");
+           }
+       }
+       return cv;
+}
+
 #ifdef DBG_SUB
-#  define DBG_SUB_NOTIFY(A) dprof_dbg_sub_notify(A)
+#  define DBG_SUB_NOTIFY(A) dprof_dbg_sub_notify(aTHX_ A)
 void
-dprof_dbg_sub_notify(SV *Sub) {
-    CV   *cv = INT2PTR(CV*,SvIVX(Sub));
+dprof_dbg_sub_notify(pTHX_ SV *Sub) {
+    CV   *cv = db_get_cv(aTHX_ Sub);
     GV   *gv = cv ? CvGV(cv) : NULL;
     if (cv && gv) {
        warn("XS DBsub(%s::%s)\n",
@@ -106,7 +125,8 @@
     PROFANY*   profstack;
     int                profstack_max;
     int                profstack_ix;
-    HV*                cv_hash;
+    HV*                cv_hash;        /* cache of CV to identifier mappings */
+    SV*                key_hash;       /* key for cv_hash */
     U32                total;
     U32                lastid;
     U32                default_perldb;
@@ -144,6 +164,7 @@
 #define g_profstack_max                g_prof_state.profstack_max
 #define g_profstack_ix         g_prof_state.profstack_ix
 #define g_cv_hash              g_prof_state.cv_hash
+#define g_key_hash             g_prof_state.key_hash
 #define g_total                        g_prof_state.total
 #define g_lastid               g_prof_state.lastid
 #define g_default_perldb       g_prof_state.default_perldb
@@ -295,6 +316,16 @@
 }
 
 static void
+set_cv_key(pTHX_ CV *cv, char *pname, char *gname)
+{
+       SvGROW(g_key_hash, sizeof(CV*) + strlen(pname) + strlen(gname) + 3);
+       sv_setpvn(g_key_hash, (char*)&cv, sizeof(CV*));
+       sv_catpv(g_key_hash, pname);
+       sv_catpv(g_key_hash, "::");
+       sv_catpv(g_key_hash, gname);
+}
+
+static void
 prof_mark(pTHX_ opcode ptype)
 {
     struct tms t;
@@ -336,17 +367,19 @@
        SV **svp;
        char *gname, *pname;
        CV *cv;
+       GV *gv;
 
-       cv = INT2PTR(CV*,SvIVX(Sub));
-       svp = hv_fetch(g_cv_hash, (char*)&cv, sizeof(CV*), TRUE);
+       cv = db_get_cv(aTHX_ Sub);
+       gv = CvGV(cv);
+       pname = ((GvSTASH(gv) && HvNAME(GvSTASH(gv))) 
+                ? HvNAME(GvSTASH(gv)) 
+                : "(null)");
+       gname = GvNAME(gv);
+
+       set_cv_key(aTHX_ cv, pname, gname);
+       svp = hv_fetch(g_cv_hash, SvPVX(g_key_hash), SvCUR(g_key_hash), TRUE);
        if (!SvOK(*svp)) {
-           GV *gv = CvGV(cv);
-               
            sv_setiv(*svp, id = ++g_lastid);
-           pname = ((GvSTASH(gv) && HvNAME(GvSTASH(gv))) 
-                    ? HvNAME(GvSTASH(gv)) 
-                    : "(null)");
-           gname = GvNAME(gv);
            if (CvXSUB(cv) == XS_Devel__DProf_END)
                return;
            if (g_SAVE_STACK) { /* Store it for later recording  -JH */
@@ -547,12 +580,14 @@
     /* profile only the interpreter that loaded us */
     if (g_THX != aTHX) {
         PUSHMARK(ORIGMARK);
-        perl_call_sv(INT2PTR(SV*,SvIV(Sub)), GIMME_V | G_NODEBUG);
+        perl_call_sv((SV*)db_get_cv(aTHX_ Sub), GIMME_V | G_NODEBUG);
     }
     else
 #endif
     {
        HV *oldstash = PL_curstash;
+       I32 old_scopestack_ix = PL_scopestack_ix;
+       I32 old_cxstack_ix = cxstack_ix;
 
         DBG_SUB_NOTIFY(Sub);
 
@@ -561,8 +596,16 @@
 
         prof_mark(aTHX_ OP_ENTERSUB);
         PUSHMARK(ORIGMARK);
-        perl_call_sv(INT2PTR(SV*,SvIV(Sub)), GIMME_V | G_NODEBUG);
+        perl_call_sv((SV*)db_get_cv(aTHX_ Sub), GIMME_V | G_NODEBUG);
         PL_curstash = oldstash;
+
+       /* Make sure we are on the same context and scope as before the call
+        * to the sub. If the called sub was exited via a goto, next or
+        * last then this will try to croak(), however perl may still crash
+        * with a segfault. */
+       if (PL_scopestack_ix != old_scopestack_ix || cxstack_ix != old_cxstack_ix)
+           croak("panic: Devel::DProf inconsistent subroutine return");
+
         prof_mark(aTHX_ OP_LEAVESUB);
        g_depth--;
     }
@@ -693,6 +736,7 @@
 
        g_default_perldb = PERLDBf_NONAME | PERLDBf_SUB | PERLDBf_GOTO;
        g_cv_hash = newHV();
+       g_key_hash = newSV(256);
         g_prof_pid = (int)getpid();
 
        New(0, g_profstack, g_profstack_max, PROFANY);

==== //depot/maint-5.8/perl/ext/Time/HiRes/Makefile.PL#16 (text) ====
Index: perl/ext/Time/HiRes/Makefile.PL
--- perl/ext/Time/HiRes/Makefile.PL#15~19919~   Tue Jul  1 14:28:15 2003
+++ perl/ext/Time/HiRes/Makefile.PL     Sun Jul  6 22:00:40 2003
@@ -66,9 +66,9 @@
 # if you have 5.004_03 (and some slightly older versions?), xsubpp
 # tries to generate line numbers in the C code generated from the .xs.
 # unfortunately, it is a little buggy around #ifdef'd code.
-# my choice is leave it in and have people with old perls complain 
+# my choice is leave it in and have people with old perls complain
 # about the "Usage" bug, or leave it out and be unable to compile myself
-# without changing it, and then I'd always forget to change it before a 
+# without changing it, and then I'd always forget to change it before a
 # release. Sorry, Edward :)
 
 sub TMPDIR {
@@ -129,7 +129,9 @@
         $cccmd = "$Config{'cc'} -o $tmp $ccflags $tmp.c @$LIBS $errornull"
            unless defined $cccmd;
 
-       if ($^O eq 'VMS') {
+       if ($^O eq 'mpeix') {
+           $cccmd = 'MPEAUTOCONF=1 '.$cccmd;
+       } elsif ($^O eq 'VMS') {
            open( CMDFILE, ">$tmp.com" );
            print CMDFILE "\$ SET MESSAGE/NOFACILITY/NOSEVERITY/NOIDENT/NOTEXT\n";
            print CMDFILE "\$ $cccmd\n";
@@ -137,7 +139,7 @@
            close CMDFILE;
            system("\@ $tmp.com");
            $ok = $?==0;
-           for ("$tmp.c", "$tmp$obj_ext", "$tmp.com", "$tmp$Config{exe_ext}") { 
+           for ("$tmp.c", "$tmp$obj_ext", "$tmp.com", "$tmp$Config{exe_ext}") {
                1 while unlink $_;
            }
         }
@@ -150,18 +152,18 @@
            unlink("$tmp.c", $tmp_exe);
         }
     }
-    
+
     $ok;
 }
 
 sub has_gettimeofday {
     # confusing but true (if condition true ==> -DHAS_GETTIMEOFDAY already)
-    return 0 if $Config{'d_gettimeod'} eq 'define';
+    return 0 if $Config{d_gettimeod} eq 'define';
     return 1 if try_compile_and_link(<<EOM);
-#include "EXTERN.h" 
-#include "perl.h" 
-#include "XSUB.h" 
-#ifdef I_SYS_TYPES 
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+#ifdef I_SYS_TYPES
 #   include <sys/types.h>
 #endif
 
@@ -230,8 +232,8 @@
 
     print "Looking for gettimeofday()... ";
     my $has_gettimeofday;
-    if ($Config{'d_gettimeod'}) {
-       $has_gettimeofday++;
+    if (exists $Config{d_gettimeod}) {
+       $has_gettimeofday++ if $Config{d_gettimeod};
     } elsif (has_gettimeofday()) {
        $DEFINE .= ' -DHAS_GETTIMEOFDAY';
        $has_gettimeofday++;
@@ -255,8 +257,8 @@
 
     print "Looking for setitimer()... ";
     my $has_setitimer;
-    if ($Config{d_setitimer}) {
-        $has_setitimer++;
+    if (exists $Config{d_setitimer}) {
+        $has_setitimer++ if $Config{d_setitimer};
     } elsif (has_x("setitimer(ITIMER_REAL, 0, 0)")) {
         $has_setitimer++;
         $DEFINE .= ' -DHAS_SETITIMER';
@@ -270,8 +272,8 @@
 
     print "Looking for getitimer()... ";
     my $has_getitimer;
-    if ($Config{d_getitimer}) {
-        $has_getitimer++;
+    if (exists $Config{'d_getitimer'}) {
+        $has_getitimer++ if $Config{'d_getitimer'};
     } elsif (has_x("getitimer(ITIMER_REAL, 0)")) {
         $has_getitimer++;
         $DEFINE .= ' -DHAS_GETITIMER';
@@ -291,8 +293,8 @@
 
     print "Looking for ualarm()... ";
     my $has_ualarm;
-    if ($Config{d_ualarm}) {
-        $has_ualarm++;
+    if (exists $Config{d_ualarm}) {
+        $has_ualarm++ if $Config{d_ualarm};
     } elsif (has_x ("ualarm (0, 0)")) {
         $has_ualarm++;
        $DEFINE .= ' -DHAS_UALARM';
@@ -310,8 +312,8 @@
 
     print "Looking for usleep()... ";
     my $has_usleep;
-    if ($Config{d_usleep}) {
-       $has_usleep++;
+    if (exists $Config{d_usleep}) {
+       $has_usleep++ if $Config{d_usleep};
     } elsif (has_x ("usleep (0)")) {
        $has_usleep++;
        $DEFINE .= ' -DHAS_USLEEP';
@@ -333,8 +335,8 @@
 
     print "Looking for nanosleep()... ";
     my $has_nanosleep;
-    if ($Config{d_nanosleep}) {
-       $has_nanosleep++;
+    if (exists $Config{d_nanosleep}) {
+       $has_nanosleep++ if $Config{d_nanosleep};
        $DEFINE .= ' -DTIME_HIRES_NANOSLEEP';
     } elsif (has_x ("nanosleep (NULL, NULL)")) {
        $has_nanosleep++;
@@ -373,15 +375,15 @@
     push (@makefileopts,
        'NAME'  => 'Time::HiRes',
        'VERSION_FROM' => 'HiRes.pm', # finds $VERSION
-       'LIBS'  => $LIBS,   # e.g., '-lm' 
-       'DEFINE'        => $DEFINE,     # e.g., '-DHAS_SOMETHING' 
+       'LIBS'  => $LIBS,   # e.g., '-lm'
+       'DEFINE'        => $DEFINE,     # e.g., '-DHAS_SOMETHING'
        'XSOPT' => $XSOPT,
     # do not even think about 'INC' => '-I/usr/ucbinclude', Solaris will avenge.
-       'INC'   => '',     # e.g., '-I/usr/include/other' 
+       'INC'   => '',     # e.g., '-I/usr/include/other'
        'INSTALLDIRS' => 'perl',
        'dist'      => {
            'CI'       => 'ci -l',
-           'COMPRESS' => 'gzip -9f', 
+           'COMPRESS' => 'gzip -9f',
            'SUFFIX'   => 'gz',
        },
         clean => { FILES => "xdefine" },

==== //depot/maint-5.8/perl/lib/Math/BigFloat.pm#4 (text) ====
Index: perl/lib/Math/BigFloat.pm
--- perl/lib/Math/BigFloat.pm#3~20013~  Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigFloat.pm   Sun Jul  6 22:00:40 2003
@@ -712,6 +712,7 @@
   delete $x->{_a}; delete $x->{_p};
   # need to disable $upgrade in BigInt, to avoid deep recursion
   local $Math::BigInt::upgrade = undef;
+  local $Math::BigFloat::downgrade = undef;
 
   # upgrade $x if $x is not a BigFloat (handle BigInt input)
   if (!$x->isa('Math::BigFloat'))
@@ -725,6 +726,7 @@
   # and if a different base was requested, convert it
   if (defined $base)
     {
+    $base = Math::BigFloat->new($base) unless $base->isa('Math::BigFloat');
     # not ln, but some other base
     $x->bdiv( $base->copy()->blog(undef,$scale), $scale );
     }

==== //depot/maint-5.8/perl/lib/Math/BigInt.pm#5 (text) ====
Index: perl/lib/Math/BigInt.pm
--- perl/lib/Math/BigInt.pm#4~20013~    Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigInt.pm     Sun Jul  6 22:00:40 2003
@@ -2197,7 +2197,7 @@
     $x->badd($org / ($x ** 2)); 
     $x->bdiv($divider);
     }
-    #print $x ** $y," org ",$org,"\n";
+  #print $x ** $y," org ",$org,"\n";
   # correct overshot
   while ($x ** $y < $org)
     {
@@ -3119,8 +3119,14 @@
        div_scale       Fallback acccuracy for div
                        40
 
-It is currently not supported to set the configuration parameters by passing
-a hash ref to C<config()>.
+The following values can be set by passing config a reference to a hash:
+
+       trap_inf trap_nan
+        upgrade downgrade precision accuracy round_mode div_scale
+
+Example:
+       
+       $new_cfg = Math::BigInt->config( { trap_inf => 1, precision => 5 } );
 
 =head2 accuracy
 

==== //depot/maint-5.8/perl/lib/Math/BigInt/Calc.pm#4 (text) ====
Index: perl/lib/Math/BigInt/Calc.pm
--- perl/lib/Math/BigInt/Calc.pm#3~20013~       Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigInt/Calc.pm        Sun Jul  6 22:00:40 2003
@@ -8,7 +8,7 @@
 use vars qw/@ISA $VERSION/;
 @ISA = qw(Exporter);
 
-$VERSION = '0.34';
+$VERSION = '0.35';
 
 # Package to store unsigned big integers in decimal and do math with them
 
@@ -27,7 +27,7 @@
 
 # Beware of things like:
 # $i = $i * $y + $car; $car = int($i / $MBASE); $i = $i % $MBASE;
-# This works on x86, but fails on ARM (SA1100, iPAQ) due to whoeknows what
+# This works on x86, but fails on ARM (SA1100, iPAQ) due to whoknows what
 # reasons. So, use this instead (slower, but correct):
 # $i = $i * $y + $car; $car = int($i / $MBASE); $i -= $MBASE * $car;
 

==== //depot/maint-5.8/perl/lib/Math/BigInt/t/biglog.t#2 (text) ====
Index: perl/lib/Math/BigInt/t/biglog.t
--- perl/lib/Math/BigInt/t/biglog.t#1~20013~    Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigInt/t/biglog.t     Sun Jul  6 22:00:40 2003
@@ -96,9 +96,7 @@
 ok ($cl->new('10')->bpow('0.6',10),   '3.981071706');
 
 # blog should handle bigint input
-# TODO: should be 2
-#ok (Math::BigFloat::blog(Math::BigInt->new(100),10), 2);
-ok (Math::BigFloat::blog(Math::BigInt->new(100),10), 'NaN');
+ok (Math::BigFloat::blog(Math::BigInt->new(100),10), 2);
 ok (Math::BigInt->new(100)->blog(10), 'NaN');
 
 # test for bug in bsqrt() not taking negative _e into account

==== //depot/maint-5.8/perl/lib/Math/BigInt/t/mbimbf.t#4 (text) ====
Index: perl/lib/Math/BigInt/t/mbimbf.t
--- perl/lib/Math/BigInt/t/mbimbf.t#3~20013~    Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigInt/t/mbimbf.t     Sun Jul  6 22:00:40 2003
@@ -32,7 +32,7 @@
   print "# INC = @INC\n";
 
   plan tests => 679 
-    + 22;              # own tests
+    + 23;              # own tests
   }
 
 use Math::BigInt 1.63;
@@ -92,4 +92,12 @@
                                # so the return value of that operation should
                                # be 42, not undef
   ok ($x->accuracy(),42);      # so $x should still have A = 42
+  $class->accuracy(undef);     # reset for further tests
+  $class->precision(undef);
   }
+
+# bug with flog(Math::BigFloat,Math::BigInt)
+$x = Math::BigFloat->new(100);
+$x = $x->blog(Math::BigInt->new(10));
+
+ok ($x,2);

==== //depot/maint-5.8/perl/lib/Math/BigRat.pm#4 (text) ====
Index: perl/lib/Math/BigRat.pm
--- perl/lib/Math/BigRat.pm#3~20013~    Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigRat.pm     Sun Jul  6 22:00:40 2003
@@ -168,7 +168,7 @@
       $self->{sign} = '+';
       return $self->bnan() if $self->{_n}->{sign} eq $nan ||
                               $self->{_d}->{sign} eq $nan;
-      # inf handling is missing here
+      # handle inf and NAN cases:
       if ($self->{_n}->is_inf() || $self->{_d}->is_inf())
         {
         # inf/inf => NaN
@@ -570,12 +570,13 @@
 
   # compute $x - $y * floor($x/$y), keeping the sign of $x
 
+  # locally disable these, since they would interfere
   local $Math::BigInt::upgrade = undef;
   local $Math::BigInt::accuracy = undef;
   local $Math::BigInt::precision = undef;
 
   my $u = $x->copy()->babs();
-  # do a "normal" division ($x/$y)
+  # first, do a "normal" division ($x/$y)
   $u->{_d}->bmul($y->{_n});
   $u->{_n}->bmul($y->{_d});
 
@@ -597,7 +598,6 @@
   $x->{sign} = $xsign;                         # put sign back
 
   $x->bnorm()->round(@r);
-  $x;
   }
 
 ##############################################################################
@@ -908,8 +908,8 @@
   local $Math::BigInt::upgrade = undef;
   local $Math::BigInt::precision = undef;
   local $Math::BigInt::accuracy = undef;
-  $x->{_d} = Math::BigFloat->new($x->{_d})->bsqrt(@r);
-  $x->{_n} = Math::BigFloat->new($x->{_n})->bsqrt(@r);
+  $x->{_d} = Math::BigFloat->new($x->{_d})->bsqrt();
+  $x->{_n} = Math::BigFloat->new($x->{_n})->bsqrt();
 
   # if sqrt(D) was not integer
   if ($x->{_d}->{_e}->{sign} ne '+')
@@ -921,7 +921,7 @@
   if ($x->{_n}->{_e}->{sign} ne '+')
     {
     $x->{_d}->blsft($x->{_n}->{_e}->babs(),10);                # 71/45.1 => 710/45.1
-    $x->{_n} = $x->{_n}->{_n};                         # 710/45.1 => 710/451
+    $x->{_n} = $x->{_n}->{_m};                         # 710/45.1 => 710/451
     }
  
   # convert parts to $MBI again 
@@ -1024,10 +1024,12 @@
  
   return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, NaN, etc
 
-  my $t = Math::BigFloat->new($x->{_n});
-  $t->bneg() if $x->is_negative();
-  $t->bdiv($x->{_d});
-  $t->numify();  
+  # N/1 => N
+  return $x->{_n}->numify() if $x->{_d}->is_one();
+
+  # N/D
+  my $neg = 1; $neg = -1 if $x->{sign} ne '+';
+  $neg * $x->{_n}->numify() / $x->{_d}->numify();      # return sign * N/D
   }
 
 sub as_number
@@ -1113,7 +1115,10 @@
       eval $rc;
       }
     }
-  die ("Couldn't load $MBI: $! $@") if $@;
+  if ($@)
+    {
+    require Carp; Carp::croak ("Couldn't load $MBI: $! $@");
+    }
 
   # any non :constant stuff is handled by our parent, Exporter
   # even if @_ is empty, to give it a chance

==== //depot/maint-5.8/perl/lib/Math/BigRat/t/bigrat.t#4 (xtext) ====
Index: perl/lib/Math/BigRat/t/bigrat.t
--- perl/lib/Math/BigRat/t/bigrat.t#3~20013~    Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigRat/t/bigrat.t     Sun Jul  6 22:00:40 2003
@@ -8,7 +8,7 @@
   $| = 1;
   chdir 't' if -d 't';
   unshift @INC, '../lib'; # for running manually
-  plan tests => 159;
+  plan tests => 164;
   }
 
 # testing of Math::BigRat
@@ -162,8 +162,20 @@
 $x = $cr->new('3/5');          $y = $cr->new('5/7');
 ok ($x/$y,'21/25');
 
+$x = $cr->new('7/4');          $y = $cr->new('1');
+ok ($x % $y,'3/4');
+
+$x = $cr->new('7/4');          $y = $cr->new('5/13');
+ok ($x % $y,'11/52');
+
+$x = $cr->new('7/4');          $y = $cr->new('5/9');
+ok ($x % $y,'1/12');
+
 $x = $cr->new('-144/9')->bsqrt();      ok ($x,'NaN');
 $x = $cr->new('144/9')->bsqrt();       ok ($x,'4');
+$x = $cr->new('3/4')->bsqrt();         ok ($x,
+  '1732050807568877293527446341505872366943/'
+ .'2000000000000000000000000000000000000000');
 
 ##############################################################################
 # bpow
@@ -221,6 +233,8 @@
 $x = $cr->new('inf'); ok ($x->numify(), 'inf');
 $x = $cr->new('-inf'); ok ($x->numify(), '-inf');
 $x = $cr->new('NaN'); ok ($x->numify(), 'NaN');
+
+$x = $cr->new('4/3'); ok ($x->numify(), 4/3);
 
 ##############################################################################
 # done

==== //depot/maint-5.8/perl/lib/Math/BigRat/t/bigratpm.inc#4 (text) ====
Index: perl/lib/Math/BigRat/t/bigratpm.inc
--- perl/lib/Math/BigRat/t/bigratpm.inc#3~20013~        Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigRat/t/bigratpm.inc Sun Jul  6 22:00:40 2003
@@ -214,12 +214,16 @@
 2:-:-inf
 3:abc:inf
 &numify
-#0:0e+1
-#+1:1e+0
-#1234:1234e+0
+0:0
++1:1
+1234:1234
+3/4:0.75
+5/2:2.5
+3/2:1.5
+5/4:1.25
 NaN:NaN
-#+inf:inf
-#-inf:-inf
++inf:inf
+-inf:-inf
 &fnan
 abc:NaN
 2:NaN

==== //depot/maint-5.8/perl/lib/Math/BigRat/t/bigratpm.t#3 (xtext) ====
Index: perl/lib/Math/BigRat/t/bigratpm.t
--- perl/lib/Math/BigRat/t/bigratpm.t#2~20013~  Sat Jul  5 06:58:18 2003
+++ perl/lib/Math/BigRat/t/bigratpm.t   Sun Jul  6 22:00:40 2003
@@ -26,7 +26,7 @@
     }
   print "# INC = @INC\n";
 
-  plan tests => 525;
+  plan tests => 534;
   }
 
 use Math::BigRat;

==== //depot/maint-5.8/perl/makedef.pl#12 (text) ====
Index: perl/makedef.pl
--- perl/makedef.pl#11~20033~   Sun Jul  6 09:26:13 2003
+++ perl/makedef.pl     Sun Jul  6 22:00:40 2003
@@ -778,6 +778,7 @@
                    PerlIOBase_noop_fail
                    PerlIOBase_noop_ok
                    PerlIOBase_popped
+                   PerlIOBase_pushed
                    PerlIOBase_read
                    PerlIOBase_setlinebuf
                    PerlIOBase_unread
@@ -799,6 +800,7 @@
                    PerlIOBuf_unread
                    PerlIOBuf_write
                    PerlIO_allocate
+                   PerlIO_apply_layera
                    PerlIO_apply_layers
                    PerlIO_arg_fetch
                    PerlIO_debug

==== //depot/maint-5.8/perl/perl.c#41 (text) ====
Index: perl/perl.c
--- perl/perl.c#40~20013~       Sat Jul  5 06:58:18 2003
+++ perl/perl.c Sun Jul  6 22:00:40 2003
@@ -3599,17 +3599,17 @@
     HV *ostash = PL_curstash;
 
     PL_curstash = PL_debstash;
-    PL_dbargs = GvAV(gv_AVadd((gv_fetchpv("args", GV_ADDMULTI, SVt_PVAV))));
+    PL_dbargs = GvAV(gv_AVadd((gv_fetchpv("DB::args", GV_ADDMULTI, SVt_PVAV))));
     AvREAL_off(PL_dbargs);
-    PL_DBgv = gv_fetchpv("DB", GV_ADDMULTI, SVt_PVGV);
-    PL_DBline = gv_fetchpv("dbline", GV_ADDMULTI, SVt_PVAV);
-    PL_DBsub = gv_HVadd(gv_fetchpv("sub", GV_ADDMULTI, SVt_PVHV));
+    PL_DBgv = gv_fetchpv("DB::DB", GV_ADDMULTI, SVt_PVGV);
+    PL_DBline = gv_fetchpv("DB::dbline", GV_ADDMULTI, SVt_PVAV);
+    PL_DBsub = gv_HVadd(gv_fetchpv("DB::sub", GV_ADDMULTI, SVt_PVHV));
     sv_upgrade(GvSV(PL_DBsub), SVt_IV);        /* IVX accessed if PERLDB_SUB_NN */
-    PL_DBsingle = GvSV((gv_fetchpv("single", GV_ADDMULTI, SVt_PV)));
+    PL_DBsingle = GvSV((gv_fetchpv("DB::single", GV_ADDMULTI, SVt_PV)));
     sv_setiv(PL_DBsingle, 0);
-    PL_DBtrace = GvSV((gv_fetchpv("trace", GV_ADDMULTI, SVt_PV)));
+    PL_DBtrace = GvSV((gv_fetchpv("DB::trace", GV_ADDMULTI, SVt_PV)));
     sv_setiv(PL_DBtrace, 0);
-    PL_DBsignal = GvSV((gv_fetchpv("signal", GV_ADDMULTI, SVt_PV)));
+    PL_DBsignal = GvSV((gv_fetchpv("DB::signal", GV_ADDMULTI, SVt_PV)));
     sv_setiv(PL_DBsignal, 0);
     PL_curstash = ostash;
 }

==== //depot/maint-5.8/perl/pod/perldiag.pod#28 (text) ====
Index: perl/pod/perldiag.pod
--- perl/pod/perldiag.pod#27~19759~     Fri Jun 13 00:22:57 2003
+++ perl/pod/perldiag.pod       Sun Jul  6 22:00:40 2003
@@ -2651,6 +2651,13 @@
 (P) Failed an internal consistency check while trying to reset a weak
 reference.
 
+=item panic: Devel::DProf inconsistent subroutine return
+
+(P) Devel::DProf called a subroutine that exited using goto(LABEL),
+last(LABEL) or next(LABEL). Leaving that way a subroutine called from
+an XSUB will lead very probably to a crash of the interpreter. This is
+a bug that will hopefully one day get fixed.
+
 =item panic: die %s
 
 (P) We popped the context stack to an eval context, and then discovered

==== //depot/maint-5.8/perl/pod/perlfaq2.pod#5 (text) ====
Index: perl/pod/perlfaq2.pod
--- perl/pod/perlfaq2.pod#4~18617~      Sat Feb  1 12:05:08 2003
+++ perl/pod/perlfaq2.pod       Sun Jul  6 22:00:40 2003
@@ -250,6 +250,15 @@
        ISBN 0-596-00132-0 [3rd edition July 2001]
        http://www.oreilly.com/catalog/lperl3/
 
+And for more advanced information on writing larger programs,
+presented in the same style as the Llama book, continue your education
+with the Alpaca book:
+
+    Learning Perl Objects, References, and Modules (the "Alpaca Book")
+       by Randal L. Schwartz, with Tom Phoenix (foreword by Damian Conway)
+       ISBN 0-596-00478-8 [1st edition June 2003]
+       http://www.oreilly.com/catalog/lrnperlorm/
+
 If you're not an accidental programmer, but a more serious and
 possibly even degreed computer scientist who doesn't need as much
 hand-holding as we try to provide in the Llama, please check out the
@@ -313,6 +322,11 @@
        by Randal L. Schwartz and Tom Phoenix
        ISBN 0-596-00132-0 [3rd edition July 2001]
        http://www.oreilly.com/catalog/lperl3/
+
+    Learning Perl Objects, References, and Modules
+       by Randal L. Schwartz, with Tom Phoenix (foreword by Damian Conway)
+       ISBN 0-596-00478-8 [1st edition June 2003]
+       http://www.oreilly.com/catalog/lrnperlorm/
 
     Learning Perl on Win32 Systems
        by Randal L. Schwartz, Erik Olson, and Tom Christiansen,

==== //depot/maint-5.8/perl/pod/perlmodlib.PL#5 (text) ====
Index: perl/pod/perlmodlib.PL
--- perl/pod/perlmodlib.PL#4~19403~     Sun May  4 04:14:49 2003
+++ perl/pod/perlmodlib.PL      Sun Jul  6 22:00:40 2003
@@ -306,8 +306,9 @@
 
 =item South Africa
 
+                      http://ftp.rucus.ru.ac.za/pub/perl/CPAN/
+                      ftp://ftp.rucus.ru.ac.za/pub/perl/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/
 
@@ -319,28 +320,19 @@
 
 =item China
 
-                      ftp://freesoft.cei.gov.cn/pub/languages/perl/CPAN/
-                      http://www2.linuxforum.net/mirror/CPAN/
+                      http://cpan.linuxforum.net/
                       http://cpan.shellhung.org/
                       ftp://ftp.shellhung.org/pub/CPAN
-
-=item India
-
-                      http://cpan.in.freeos.com
-                      ftp://cpan.in.freeos.com/pub/CPAN/
+                      ftp://mirrors.hknet.com/CPAN
 
 =item Indonesia
 
-                      http://cpan.itb.web.id/
-                      ftp://mirrors.piksi.itb.ac.id/CPAN/
+                      http://mirrors.tf.itb.ac.id/cpan/
                       http://cpan.cbn.net.id/
                       ftp://ftp.cbn.net.id/mirror/CPAN
-                      http://CPAN.mweb.co.id/
-                      ftp://ftp.mweb.co.id/pub/languages/perl/CPAN/
 
 =item Israel
 
-                      http://www.iglu.org.il:/pub/CPAN/
                       ftp://ftp.iglu.org.il/pub/CPAN/
                       http://cpan.lerner.co.il/
                       http://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
@@ -352,20 +344,16 @@
                       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/
 
-=item Korea
-
-                      http://mirror.Mazic.org/pub/CPAN
-                      ftp://mirror.Mazic.org/pub/CPAN
+=item Malaysia
 
-=item Philippines
-
-                      http://www.adzu.edu.ph/CPAN
+                      http://cpan.MyBSD.org.my
+                      http://mirror.leafbug.org/pub/CPAN
+                      http://ossig.mncc.com.my/mirror/pub/CPAN
 
 =item Russian Federation
 
@@ -378,28 +366,30 @@
 
 =item Singapore
 
-                      http://cpan.hjc.edu.sg
+                      http://CPAN.en.com.sg/
+                      ftp://cpan.en.com.sg/
                       http://mirror.averse.net/pub/CPAN
                       ftp://mirror.averse.net/pub/CPAN
+                      http://cpan.oss.eznetsols.org
+                      ftp://ftp.oss.eznetsols.org/cpan
 
 =item South Korea
 
                       http://CPAN.bora.net/
                       ftp://ftp.bora.net/pub/CPAN/
-                      http://ftp.kornet.net/pub/CPAN/
-                      ftp://ftp.kornet.net/pub/CPAN/
-                      ftp://ftp.nuri.net/pub/CPAN/
-                      http://ftp.xgate.co.kr/cpan/
-                      ftp://ftp.xgate.co.kr/pub/mirror/CPAN
+                      http://mirror.kr.FreeBSD.org/CPAN
+                      ftp://ftp.kr.FreeBSD.org/pub/CPAN
 
 =item Taiwan
 
                       ftp://ftp.nctu.edu.tw/UNIX/perl/CPAN
-                      ftp://ftp.ee.ncku.edu.tw/pub/perl/CPAN/
+                      http://cpan.cdpa.nsysu.edu.tw/
+                      ftp://cpan.cdpa.nsysu.edu.tw/pub/CPAN
+                      http://ftp.isu.edu.tw/pub/CPAN
+                      ftp://ftp.isu.edu.tw/pub/CPAN
                       ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/
                       http://ftp.tku.edu.tw/pub/CPAN/
                       ftp://ftp.tku.edu.tw/pub/CPAN/
-
 =item Thailand
 
                       ftp://ftp.loxinfo.co.th/pub/cpan/
@@ -413,7 +403,6 @@
 
 =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/
 
@@ -432,11 +421,15 @@
                       http://ftp.easynet.be/pub/CPAN/
                       ftp://ftp.easynet.be/pub/CPAN/
                       http://cpan.skynet.be
-                      ftp://ftp.skynet.be/pub/CPAN
+                      ftp://ftp.cpan.skynet.be/pub/CPAN
                       ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
 
 =item Bulgaria
 
+                      http://cpan.online.bg
+                      ftp://cpan.online.bg/cpan
+                      http://cpan.zadnik.org
+                      ftp://ftp.zadnik.org/mirrors/CPAN/
                       http://cpan.lirex.net/
                       ftp://ftp.lirex.net/pub/mirrors/CPAN
 
@@ -466,10 +459,11 @@
 =item Finland
 
                       ftp://ftp.funet.fi/pub/languages/perl/CPAN/
-                      http://cpan.kpnqwest.fi/
+                      http://mirror.eunet.fi/CPAN
 
 =item France
 
+                      http://www.enstimac.fr/Perl/CPAN
                       http://ftp.u-paris10.fr/perl/CPAN
                       ftp://ftp.u-paris10.fr/perl/CPAN
                       http://cpan.mirrors.easynet.fr/
@@ -481,6 +475,8 @@
                       ftp://ftp.pasteur.fr/pub/computing/CPAN/
                       http://mir2.ovh.net/ftp.cpan.org
                       ftp://mir1.ovh.net/ftp.cpan.org
+                      http://ftp.crihan.fr/mirrors/ftp.cpan.org/
+                      ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
                       http://ftp.u-strasbg.fr/CPAN
                       ftp://ftp.u-strasbg.fr/CPAN
                       http://cpan.cict.fr/
@@ -489,7 +485,7 @@
 
 =item Germany
 
-                      ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/
+                      ftp://ftp.rub.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
@@ -506,14 +502,12 @@
 
 =item Greece
 
-                      ftp://ftp.acn.gr/pub/lang/perl/CPAN
+                      ftp://ftp.acn.gr/pub/lang/perl
                       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/
 
@@ -526,6 +520,8 @@
 
                       http://cpan.indigo.ie/
                       ftp://cpan.indigo.ie/pub/CPAN/
+                      http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+                      ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
                       http://sunsite.compapp.dcu.ie/pub/perl/
                       ftp://sunsite.compapp.dcu.ie/pub/perl/
 
@@ -540,6 +536,7 @@
                       ftp://ftp.unipi.it/pub/mirror/perl/CPAN/
                       ftp://cis.uniRoma2.it/CPAN/
                       ftp://ftp.edisontel.it/pub/CPAN_Mirror/
+                      http://cpan.flashnet.it/
                       ftp://ftp.flashnet.it/pub/CPAN/
 
 =item Latvia
@@ -557,6 +554,7 @@
                       ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
                       http://cpan.cybercomm.nl/
                       ftp://mirror.cybercomm.nl/pub/CPAN
+                      ftp://mirror.vuurwerk.nl/pub/CPAN/
                       ftp://ftp.cpan.nl/pub/CPAN/
                       http://ftp.easynet.nl/mirror/CPAN
                       ftp://ftp.easynet.nl/mirror/CPAN
@@ -570,8 +568,6 @@
 
 =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/
 
@@ -581,16 +577,23 @@
                       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/
+                      ftp://ftp.nfsi.pt/pub/CPAN
+                      http://ftp.linux.pt/pub/mirrors/CPAN
+                      ftp://ftp.linux.pt/pub/mirrors/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.telepac.pt/
+                      ftp://ftp.telepac.pt/pub/cpan/
 
 =item Romania
 
+                      ftp://ftp.bio-net.ro/pub/CPAN
                       ftp://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/
+                      ftp://ftp.roedu.net/pub/CPAN/
                       ftp://ftp.dntis.ro/pub/cpan/
+                      ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
+                      http://cpan.ambra.ro/
+                      ftp://ftp.ambra.ro/pub/CPAN
                       ftp://ftp.dnttm.ro/pub/CPAN/
                       ftp://ftp.lasting.ro/pub/CPAN
                       ftp://ftp.timisoara.roedu.net/mirrors/CPAN/
@@ -606,7 +609,6 @@
 
 =item Slovakia
 
-                      http://ftp.cvt.stuba.sk/pub/CPAN/
                       ftp://ftp.cvt.stuba.sk/pub/CPAN/
 
 =item Slovenia
@@ -617,12 +619,14 @@
 
                       http://cpan.imasd.elmundo.es/
                       ftp://ftp.rediris.es/mirror/CPAN/
+                      ftp.ri.telefonica-data.net
                       ftp://ftp.etse.urv.es/pub/perl/
 
 =item Sweden
 
                       http://ftp.du.se/CPAN/
                       ftp://ftp.du.se/pub/CPAN/
+                      http://mirror.dataphone.se/CPAN
                       ftp://mirror.dataphone.se/pub/CPAN
                       ftp://ftp.sunet.se/pub/lang/perl/CPAN/
 
@@ -642,6 +646,8 @@
                       http://cpan.org.ua/
                       ftp://cpan.org.ua/
                       ftp://ftp.perl.org.ua/pub/CPAN/
+                      http://no-more.kiev.ua/CPAN/
+                      ftp://no-more.kiev.ua/pub/CPAN/
 
 =item United Kingdom
 
@@ -649,13 +655,13 @@
                       
ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
                       http://cpan.teleglobe.net/
                       ftp://cpan.teleglobe.net/pub/CPAN
-                      http://cpan.crazygreek.co.uk
+                      http://cpan.mirror.anlx.net/
+                      ftp://ftp.mirror.anlx.net/CPAN/
                       ftp://ftp.demon.co.uk/pub/CPAN/
                       http://cpan.m.flirble.org/
                       ftp://ftp.flirble.org/pub/languages/perl/CPAN/
                       ftp://ftp.plig.org/pub/CPAN/
-                      http://mirror.uklinux.net/CPAN/
-                      ftp://mirror.uklinux.net/pub/CPAN/
+                      http://cpan.hambule.co.uk/
                       http://cpan.mirrors.clockerz.net/
                       ftp://ftp.clockerz.net/pub/CPAN/
                       ftp://usit.shef.ac.uk/pub/packages/CPAN/
@@ -666,10 +672,14 @@
 
 =over 4
 
+=item Canada
+
+=over 4
+
 =item Alberta
 
-                      http://sunsite.ualberta.ca/pub/Mirror/CPAN/
-                      ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
+                      http://cpan.sunsite.ualberta.ca/
+                      ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
 
 =item Manitoba
 
@@ -682,11 +692,7 @@
 
 =item Ontario
 
-                      ftp://ftp.crc.ca/pub/CPAN/
-
-=item Quebec
-
-                      http://cpan.mirror.smartworker.org/
+                      ftp://ftp.nrc.ca/pub/CPAN/
 
 =item Mexico
 
@@ -699,7 +705,7 @@
 
 =back
 
-=head2 United States
+=item United States
 
 =over 4
 
@@ -720,7 +726,6 @@
                       http://cpan.digisle.net/
                       ftp://cpan.digisle.net/pub/CPAN
                       http://www.perl.com/CPAN/
-                      http://download.sourceforge.net/mirrors/CPAN/
 
 =item Colorado
 
@@ -754,7 +759,8 @@
                       ftp://cpan.netnitco.net/pub/mirrors/CPAN/
                       http://archive.progeny.com/CPAN/
                       ftp://archive.progeny.com/CPAN/
-                      ftp://cpan.in-span.net/
+                      http://fx.saintjoe.edu/pub/CPAN
+                      ftp://ftp.saintjoe.edu/pub/CPAN
                       http://csociety-ftp.ecn.purdue.edu/pub/CPAN
                       ftp://csociety-ftp.ecn.purdue.edu/pub/CPAN
 
@@ -762,41 +768,46 @@
 
                       http://cpan.uky.edu/
                       ftp://cpan.uky.edu/pub/CPAN/
+                      http://slugsite.louisville.edu/cpan
+                      ftp://slugsite.louisville.edu/CPAN
 
 =item Massachusetts
 
+                      http://mirrors.towardex.com/CPAN
+                      ftp://mirrors.towardex.com/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 Michigan
 
                       ftp://cpan.cse.msu.edu/
 
+=item Nevada
+
+                      http://www.oss.redundant.com/pub/CPAN
+                      ftp://www.oss.redundant.com/pub/CPAN
+
 =item New Jersey
 
+                      http://ftp.cpanel.net/pub/CPAN/
                       ftp://ftp.cpanel.net/pub/CPAN/
                       http://cpan.teleglobe.net/
                       ftp://cpan.teleglobe.net/pub/CPAN
 
 =item New York
 
-                      ftp://ftp.exobit.org/pub/perl/CPAN
                       http://cpan.belfry.net/
+                      http://cpan.erlbaum.net/
+                      ftp://cpan.erlbaum.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 North Carolina
 
                       ftp://ftp.duke.edu/pub/perl/
-
-=item Ohio
-
-                      ftp://ftp.loaded.net/pub/CPAN/
+                      ftp://ftp.ncsu.edu/pub/mirror/CPAN/
 
 =item Oklahoma
 
@@ -823,7 +834,9 @@
 =item Texas
 
                       http://ftp.sedl.org/pub/mirrors/CPAN/
+                      http://www.binarycode.org/cpan
                       ftp://mirror.telentente.com/pub/CPAN
+                      http://mirrors.theonlinerecordstore.com/CPAN
 
 =item Utah
 
@@ -835,12 +848,9 @@
                       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://noc.cvaix.com/mirrors/CPAN/
 
-=item ashington
+=item Washington
 
                       http://cpan.llarian.net/
                       ftp://cpan.llarian.net/pub/CPAN/
@@ -855,6 +865,8 @@
 
 =back
 
+=back
+
 =head2 Oceania
 
 =over 4
@@ -869,7 +881,11 @@
 =item New Zealand
 
                       ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
-                      http://cpan.soa.co.nz/CPAN/
+
+=item United States
+
+                      http://aniani.ifa.hawaii.edu/CPAN/
+                      ftp://aniani.ifa.hawaii.edu/CPAN/
 
 =back
 
@@ -880,13 +896,15 @@
 =item Argentina
 
                       ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
-                      http://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
-                      ftp://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
+                      http://www.linux.org.ar/mirrors/cpan
+                      ftp://ftp.linux.org.ar/mirrors/cpan
 
 =item Brazil
 
                       ftp://cpan.pop-mg.com.br/pub/CPAN/
                       ftp://ftp.matrix.com.br/pub/perl/CPAN/
+                      http://cpan.hostsul.com.br/
+                      ftp://cpan.hostsul.com.br/
 
 =item Chile
 
@@ -897,31 +915,39 @@
 
 =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
+                     ftp.shellhung.org::CPAN
+                     ftp.cbn.net.id::CPAN
+                     ftp.iglu.org.il::CPAN
+                     ftp.kddlabs.co.jp::cpan
+                     ftp.ayamura.org::pub/CPAN/
+                     mirror.leafbug.org::CPAN
+                     rsync.en.com.sg::CPAN
+                     mirror.averse.net::cpan
+                     rsync.oss.eznetsols.org
+                     ftp.kr.FreeBSD.org::CPAN
+                     cpan.cdpa.nsysu.edu.tw::CPAN
+                     rsync.nic.funet.fi::CPAN
+                     ftp.u-paris10.fr::CPAN
+                     mir1.ovh.net::CPAN
+                     ftp.crihan.fr::CPAN
+                     ftp.gwdg.de::FTP/languages/perl/CPAN/
+                     ftp.leo.org::CPAN
+                     ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+                     gusp.dyndns.org::cpan
+                     cpan.teleglobe.net::CPAN
+                     rsync://rsync.mirror.anlx.net::CPAN
+                     theoryx5.uwinnipeg.ca::CPAN
+                     ftp.sedl.org::cpan
+                     archive.progeny.com::CPAN
+                     slugsite.louisville.edu::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
+                     aniani.ifa.hawaii.edu::CPAN
+                     www.linux.org.ar::cpan
 
 For an up-to-date listing of CPAN sites,
 see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .

==== //depot/maint-5.8/perl/pod/perlmodlib.pod#7 (text) ====
Index: perl/pod/perlmodlib.pod
--- perl/pod/perlmodlib.pod#6~19636~    Thu May 29 07:19:35 2003
+++ perl/pod/perlmodlib.pod     Sun Jul  6 22:00:40 2003
@@ -1560,8 +1560,9 @@
 
 =item South Africa
 
+                      http://ftp.rucus.ru.ac.za/pub/perl/CPAN/
+                      ftp://ftp.rucus.ru.ac.za/pub/perl/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/
 
@@ -1573,28 +1574,19 @@
 
 =item China
 
-                      ftp://freesoft.cei.gov.cn/pub/languages/perl/CPAN/
-                      http://www2.linuxforum.net/mirror/CPAN/
+                      http://cpan.linuxforum.net/
                       http://cpan.shellhung.org/
                       ftp://ftp.shellhung.org/pub/CPAN
-
-=item India
-
-                      http://cpan.in.freeos.com
-                      ftp://cpan.in.freeos.com/pub/CPAN/
+                      ftp://mirrors.hknet.com/CPAN
 
 =item Indonesia
 
-                      http://cpan.itb.web.id/
-                      ftp://mirrors.piksi.itb.ac.id/CPAN/
+                      http://mirrors.tf.itb.ac.id/cpan/
                       http://cpan.cbn.net.id/
                       ftp://ftp.cbn.net.id/mirror/CPAN
-                      http://CPAN.mweb.co.id/
-                      ftp://ftp.mweb.co.id/pub/languages/perl/CPAN/
 
 =item Israel
 
-                      http://www.iglu.org.il:/pub/CPAN/
                       ftp://ftp.iglu.org.il/pub/CPAN/
                       http://cpan.lerner.co.il/
                       http://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
@@ -1606,20 +1598,16 @@
                       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/
 
-=item Korea
-
-                      http://mirror.Mazic.org/pub/CPAN
-                      ftp://mirror.Mazic.org/pub/CPAN
+=item Malaysia
 
-=item Philippines
-
-                      http://www.adzu.edu.ph/CPAN
+                      http://cpan.MyBSD.org.my
+                      http://mirror.leafbug.org/pub/CPAN
+                      http://ossig.mncc.com.my/mirror/pub/CPAN
 
 =item Russian Federation
 
@@ -1632,28 +1620,30 @@
 
 =item Singapore
 
-                      http://cpan.hjc.edu.sg
+                      http://CPAN.en.com.sg/
+                      ftp://cpan.en.com.sg/
                       http://mirror.averse.net/pub/CPAN
                       ftp://mirror.averse.net/pub/CPAN
+                      http://cpan.oss.eznetsols.org
+                      ftp://ftp.oss.eznetsols.org/cpan
 
 =item South Korea
 
                       http://CPAN.bora.net/
                       ftp://ftp.bora.net/pub/CPAN/
-                      http://ftp.kornet.net/pub/CPAN/
-                      ftp://ftp.kornet.net/pub/CPAN/
-                      ftp://ftp.nuri.net/pub/CPAN/
-                      http://ftp.xgate.co.kr/cpan/
-                      ftp://ftp.xgate.co.kr/pub/mirror/CPAN
+                      http://mirror.kr.FreeBSD.org/CPAN
+                      ftp://ftp.kr.FreeBSD.org/pub/CPAN
 
 =item Taiwan
 
                       ftp://ftp.nctu.edu.tw/UNIX/perl/CPAN
-                      ftp://ftp.ee.ncku.edu.tw/pub/perl/CPAN/
+                      http://cpan.cdpa.nsysu.edu.tw/
+                      ftp://cpan.cdpa.nsysu.edu.tw/pub/CPAN
+                      http://ftp.isu.edu.tw/pub/CPAN
+                      ftp://ftp.isu.edu.tw/pub/CPAN
                       ftp://ftp1.sinica.edu.tw/pub1/perl/CPAN/
                       http://ftp.tku.edu.tw/pub/CPAN/
                       ftp://ftp.tku.edu.tw/pub/CPAN/
-
 =item Thailand
 
                       ftp://ftp.loxinfo.co.th/pub/cpan/
@@ -1667,7 +1657,6 @@
 
 =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/
 
@@ -1686,11 +1675,15 @@
                       http://ftp.easynet.be/pub/CPAN/
                       ftp://ftp.easynet.be/pub/CPAN/
                       http://cpan.skynet.be
-                      ftp://ftp.skynet.be/pub/CPAN
+                      ftp://ftp.cpan.skynet.be/pub/CPAN
                       ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
 
 =item Bulgaria
 
+                      http://cpan.online.bg
+                      ftp://cpan.online.bg/cpan
+                      http://cpan.zadnik.org
+                      ftp://ftp.zadnik.org/mirrors/CPAN/
                       http://cpan.lirex.net/
                       ftp://ftp.lirex.net/pub/mirrors/CPAN
 
@@ -1720,10 +1713,11 @@
 =item Finland
 
                       ftp://ftp.funet.fi/pub/languages/perl/CPAN/
-                      http://cpan.kpnqwest.fi/
+                      http://mirror.eunet.fi/CPAN
 
 =item France
 
+                      http://www.enstimac.fr/Perl/CPAN
                       http://ftp.u-paris10.fr/perl/CPAN
                       ftp://ftp.u-paris10.fr/perl/CPAN
                       http://cpan.mirrors.easynet.fr/
@@ -1735,6 +1729,8 @@
                       ftp://ftp.pasteur.fr/pub/computing/CPAN/
                       http://mir2.ovh.net/ftp.cpan.org
                       ftp://mir1.ovh.net/ftp.cpan.org
+                      http://ftp.crihan.fr/mirrors/ftp.cpan.org/
+                      ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
                       http://ftp.u-strasbg.fr/CPAN
                       ftp://ftp.u-strasbg.fr/CPAN
                       http://cpan.cict.fr/
@@ -1743,7 +1739,7 @@
 
 =item Germany
 
-                      ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/
+                      ftp://ftp.rub.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
@@ -1760,14 +1756,12 @@
 
 =item Greece
 
-                      ftp://ftp.acn.gr/pub/lang/perl/CPAN
+                      ftp://ftp.acn.gr/pub/lang/perl
                       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/
 
@@ -1780,6 +1774,8 @@
 
                       http://cpan.indigo.ie/
                       ftp://cpan.indigo.ie/pub/CPAN/
+                      http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+                      ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
                       http://sunsite.compapp.dcu.ie/pub/perl/
                       ftp://sunsite.compapp.dcu.ie/pub/perl/
 
@@ -1794,6 +1790,7 @@
                       ftp://ftp.unipi.it/pub/mirror/perl/CPAN/
                       ftp://cis.uniRoma2.it/CPAN/
                       ftp://ftp.edisontel.it/pub/CPAN_Mirror/
+                      http://cpan.flashnet.it/
                       ftp://ftp.flashnet.it/pub/CPAN/
 
 =item Latvia
@@ -1811,6 +1808,7 @@
                       ftp://ftp.nluug.nl/pub/languages/perl/CPAN/
                       http://cpan.cybercomm.nl/
                       ftp://mirror.cybercomm.nl/pub/CPAN
+                      ftp://mirror.vuurwerk.nl/pub/CPAN/
                       ftp://ftp.cpan.nl/pub/CPAN/
                       http://ftp.easynet.nl/mirror/CPAN
                       ftp://ftp.easynet.nl/mirror/CPAN
@@ -1824,8 +1822,6 @@
 
 =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/
 
@@ -1835,16 +1831,23 @@
                       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/
+                      ftp://ftp.nfsi.pt/pub/CPAN
+                      http://ftp.linux.pt/pub/mirrors/CPAN
+                      ftp://ftp.linux.pt/pub/mirrors/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.telepac.pt/
+                      ftp://ftp.telepac.pt/pub/cpan/
 
 =item Romania
 
+                      ftp://ftp.bio-net.ro/pub/CPAN
                       ftp://ftp.kappa.ro/pub/mirrors/ftp.perl.org/pub/CPAN/
+                      ftp://ftp.roedu.net/pub/CPAN/
                       ftp://ftp.dntis.ro/pub/cpan/
+                      ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
+                      http://cpan.ambra.ro/
+                      ftp://ftp.ambra.ro/pub/CPAN
                       ftp://ftp.dnttm.ro/pub/CPAN/
                       ftp://ftp.lasting.ro/pub/CPAN
                       ftp://ftp.timisoara.roedu.net/mirrors/CPAN/
@@ -1860,7 +1863,6 @@
 
 =item Slovakia
 
-                      http://ftp.cvt.stuba.sk/pub/CPAN/
                       ftp://ftp.cvt.stuba.sk/pub/CPAN/
 
 =item Slovenia
@@ -1871,12 +1873,14 @@
 
                       http://cpan.imasd.elmundo.es/
                       ftp://ftp.rediris.es/mirror/CPAN/
+                      ftp.ri.telefonica-data.net
                       ftp://ftp.etse.urv.es/pub/perl/
 
 =item Sweden
 
                       http://ftp.du.se/CPAN/
                       ftp://ftp.du.se/pub/CPAN/
+                      http://mirror.dataphone.se/CPAN
                       ftp://mirror.dataphone.se/pub/CPAN
                       ftp://ftp.sunet.se/pub/lang/perl/CPAN/
 
@@ -1896,6 +1900,8 @@
                       http://cpan.org.ua/
                       ftp://cpan.org.ua/
                       ftp://ftp.perl.org.ua/pub/CPAN/
+                      http://no-more.kiev.ua/CPAN/
+                      ftp://no-more.kiev.ua/pub/CPAN/
 
 =item United Kingdom
 
@@ -1903,13 +1909,13 @@
                       
ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
                       http://cpan.teleglobe.net/
                       ftp://cpan.teleglobe.net/pub/CPAN
-                      http://cpan.crazygreek.co.uk
+                      http://cpan.mirror.anlx.net/
+                      ftp://ftp.mirror.anlx.net/CPAN/
                       ftp://ftp.demon.co.uk/pub/CPAN/
                       http://cpan.m.flirble.org/
                       ftp://ftp.flirble.org/pub/languages/perl/CPAN/
                       ftp://ftp.plig.org/pub/CPAN/
-                      http://mirror.uklinux.net/CPAN/
-                      ftp://mirror.uklinux.net/pub/CPAN/
+                      http://cpan.hambule.co.uk/
                       http://cpan.mirrors.clockerz.net/
                       ftp://ftp.clockerz.net/pub/CPAN/
                       ftp://usit.shef.ac.uk/pub/packages/CPAN/
@@ -1920,10 +1926,14 @@
 
 =over 4
 
+=item Canada
+
+=over 4
+
 =item Alberta
 
-                      http://sunsite.ualberta.ca/pub/Mirror/CPAN/
-                      ftp://sunsite.ualberta.ca/pub/Mirror/CPAN/
+                      http://cpan.sunsite.ualberta.ca/
+                      ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
 
 =item Manitoba
 
@@ -1936,11 +1946,7 @@
 
 =item Ontario
 
-                      ftp://ftp.crc.ca/pub/CPAN/
-
-=item Quebec
-
-                      http://cpan.mirror.smartworker.org/
+                      ftp://ftp.nrc.ca/pub/CPAN/
 
 =item Mexico
 
@@ -1953,7 +1959,7 @@
 
 =back
 
-=head2 United States
+=item United States
 
 =over 4
 
@@ -1974,7 +1980,6 @@
                       http://cpan.digisle.net/
                       ftp://cpan.digisle.net/pub/CPAN
                       http://www.perl.com/CPAN/
-                      http://download.sourceforge.net/mirrors/CPAN/
 
 =item Colorado
 
@@ -2008,7 +2013,8 @@
                       ftp://cpan.netnitco.net/pub/mirrors/CPAN/
                       http://archive.progeny.com/CPAN/
                       ftp://archive.progeny.com/CPAN/
-                      ftp://cpan.in-span.net/
+                      http://fx.saintjoe.edu/pub/CPAN
+                      ftp://ftp.saintjoe.edu/pub/CPAN
                       http://csociety-ftp.ecn.purdue.edu/pub/CPAN
                       ftp://csociety-ftp.ecn.purdue.edu/pub/CPAN
 
@@ -2016,41 +2022,46 @@
 
                       http://cpan.uky.edu/
                       ftp://cpan.uky.edu/pub/CPAN/
+                      http://slugsite.louisville.edu/cpan
+                      ftp://slugsite.louisville.edu/CPAN
 
 =item Massachusetts
 
+                      http://mirrors.towardex.com/CPAN
+                      ftp://mirrors.towardex.com/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 Michigan
 
                       ftp://cpan.cse.msu.edu/
 
+=item Nevada
+
+                      http://www.oss.redundant.com/pub/CPAN
+                      ftp://www.oss.redundant.com/pub/CPAN
+
 =item New Jersey
 
+                      http://ftp.cpanel.net/pub/CPAN/
                       ftp://ftp.cpanel.net/pub/CPAN/
                       http://cpan.teleglobe.net/
                       ftp://cpan.teleglobe.net/pub/CPAN
 
 =item New York
 
-                      ftp://ftp.exobit.org/pub/perl/CPAN
                       http://cpan.belfry.net/
+                      http://cpan.erlbaum.net/
+                      ftp://cpan.erlbaum.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 North Carolina
 
                       ftp://ftp.duke.edu/pub/perl/
-
-=item Ohio
-
-                      ftp://ftp.loaded.net/pub/CPAN/
+                      ftp://ftp.ncsu.edu/pub/mirror/CPAN/
 
 =item Oklahoma
 
@@ -2077,7 +2088,9 @@
 =item Texas
 
                       http://ftp.sedl.org/pub/mirrors/CPAN/
+                      http://www.binarycode.org/cpan
                       ftp://mirror.telentente.com/pub/CPAN
+                      http://mirrors.theonlinerecordstore.com/CPAN
 
 =item Utah
 
@@ -2089,12 +2102,9 @@
                       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://noc.cvaix.com/mirrors/CPAN/
 
-=item ashington
+=item Washington
 
                       http://cpan.llarian.net/
                       ftp://cpan.llarian.net/pub/CPAN/
@@ -2109,6 +2119,8 @@
 
 =back
 
+=back
+
 =head2 Oceania
 
 =over 4
@@ -2123,7 +2135,11 @@
 =item New Zealand
 
                       ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
-                      http://cpan.soa.co.nz/CPAN/
+
+=item United States
+
+                      http://aniani.ifa.hawaii.edu/CPAN/
+                      ftp://aniani.ifa.hawaii.edu/CPAN/
 
 =back
 
@@ -2134,13 +2150,15 @@
 =item Argentina
 
                       ftp://mirrors.bannerlandia.com.ar/mirrors/CPAN/
-                      http://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
-                      ftp://ftp.fcaglp.unlp.edu.ar/pub/CPAN/
+                      http://www.linux.org.ar/mirrors/cpan
+                      ftp://ftp.linux.org.ar/mirrors/cpan
 
 =item Brazil
 
                       ftp://cpan.pop-mg.com.br/pub/CPAN/
                       ftp://ftp.matrix.com.br/pub/perl/CPAN/
+                      http://cpan.hostsul.com.br/
+                      ftp://cpan.hostsul.com.br/
 
 =item Chile
 
@@ -2151,31 +2169,39 @@
 
 =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
+                     ftp.shellhung.org::CPAN
+                     ftp.cbn.net.id::CPAN
+                     ftp.iglu.org.il::CPAN
+                     ftp.kddlabs.co.jp::cpan
+                     ftp.ayamura.org::pub/CPAN/
+                     mirror.leafbug.org::CPAN
+                     rsync.en.com.sg::CPAN
+                     mirror.averse.net::cpan
+                     rsync.oss.eznetsols.org
+                     ftp.kr.FreeBSD.org::CPAN
+                     cpan.cdpa.nsysu.edu.tw::CPAN
+                     rsync.nic.funet.fi::CPAN
+                     ftp.u-paris10.fr::CPAN
+                     mir1.ovh.net::CPAN
+                     ftp.crihan.fr::CPAN
+                     ftp.gwdg.de::FTP/languages/perl/CPAN/
+                     ftp.leo.org::CPAN
+                     ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+                     gusp.dyndns.org::cpan
+                     cpan.teleglobe.net::CPAN
+                     rsync://rsync.mirror.anlx.net::CPAN
+                     theoryx5.uwinnipeg.ca::CPAN
+                     ftp.sedl.org::cpan
+                     archive.progeny.com::CPAN
+                     slugsite.louisville.edu::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
+                     aniani.ifa.hawaii.edu::CPAN
+                     www.linux.org.ar::cpan
 
 For an up-to-date listing of CPAN sites,
 see http://www.cpan.org/SITES or ftp://www.cpan.org/SITES .

==== //depot/maint-5.8/perl/pod/perlsyn.pod#6 (text) ====
Index: perl/pod/perlsyn.pod
--- perl/pod/perlsyn.pod#5~19567~       Sun May 18 22:01:26 2003
+++ perl/pod/perlsyn.pod        Sun Jul  6 22:00:40 2003
@@ -638,11 +638,11 @@
     # example: '# line 42 "new_filename.plx"'
     /^#    \s*
       line \s+ (\d+)   \s*
-      (?:\s"([^"]+)")? \s*
+      (?:\s("?)([^"]+)\2)? \s*
      $/x
 
-with C<$1> being the line number for the next line, and C<$2> being
-the optional filename (specified within quotes).
+with C<$1> being the line number for the next line, and C<$3> being
+the optional filename (specified with or without quotes).
 
 There is a fairly obvious gotcha included with the line directive:
 Debuggers and profilers will only show the last source line to appear

==== //depot/maint-5.8/perl/pod/perltodo.pod#4 (text) ====
Index: perl/pod/perltodo.pod
--- perl/pod/perltodo.pod#3~19439~      Wed May  7 10:11:48 2003
+++ perl/pod/perltodo.pod       Sun Jul  6 22:00:40 2003
@@ -580,6 +580,13 @@
 Should tainted symbolic method calls and subref calls be stopped?
 (Look at Ruby's $SAFE levels for inspiration?)
 
+=head2 Perform correctly when XSUBs call subroutines that exit via goto(LABEL) and 
friends
+
+If an XSUB calls a subroutine that exits using goto(LABEL),
+last(LABEL) or next(LABEL), then the interpreter will very probably crash
+with a segfault because the execution resumes in the XSUB instead of
+never returning there.
+
 =head1 Vague ideas
 
 Ideas which have been discussed, and which may or may not happen.

==== //depot/maint-5.8/perl/pod/perlvar.pod#19 (text) ====
Index: perl/pod/perlvar.pod
--- perl/pod/perlvar.pod#18~20013~      Sat Jul  5 06:58:18 2003
+++ perl/pod/perlvar.pod        Sun Jul  6 22:00:40 2003
@@ -1098,6 +1098,10 @@
 Provide informative names to anonymous subroutines based on the place they
 were compiled.
 
+=item 0x400
+
+Debug assertion subroutines enter/exit.
+
 =back
 
 Some bits may be relevant at compile-time only, some at

==== //depot/maint-5.8/perl/pp_ctl.c#31 (text) ====
Index: perl/pp_ctl.c
--- perl/pp_ctl.c#30~19951~     Thu Jul  3 01:47:35 2003
+++ perl/pp_ctl.c       Sun Jul  6 22:00:40 2003
@@ -2296,7 +2296,10 @@
                    CV *gotocv;
                
                    if (PERLDB_SUB_NN) {
-                       SvIVX(sv) = PTR2IV(cv); /* Already upgraded, saved */
+                       (void)SvUPGRADE(sv, SVt_PVIV);
+                       (void)SvIOK_on(sv);
+                       SAVEIV(SvIVX(sv));
+                       SvIVX(sv) = PTR2IV(cv); /* Do it the quickest way */
                    } else {
                        save_item(sv);
                        gv_efullname3(sv, CvGV(cv), Nullch);

==== //depot/maint-5.8/perl/t/lib/dprof/test7_t#1 (text) ====
Index: perl/t/lib/dprof/test7_t
--- /dev/null   Tue May  5 13:32:27 1998
+++ perl/t/lib/dprof/test7_t    Sun Jul  6 22:00:40 2003
@@ -0,0 +1,9 @@
+BEGIN {
+       print "in BEGIN\n";
+}
+
+sub foo {
+       print "in sub foo\n";
+}
+
+foo();

==== //depot/maint-5.8/perl/t/lib/dprof/test7_v#1 (text) ====
Index: perl/t/lib/dprof/test7_v
--- /dev/null   Tue May  5 13:32:27 1998
+++ perl/t/lib/dprof/test7_v    Sun Jul  6 22:00:40 2003
@@ -0,0 +1,10 @@
+# perl
+
+use V;
+
+dprofpp( '-T' );
+$expected = 
+qq{main::BEGIN
+main::foo
+};
+report 19, sub { $expected eq $results };

==== //depot/maint-5.8/perl/t/lib/dprof/test8_t#1 (text) ====
Index: perl/t/lib/dprof/test8_t
--- /dev/null   Tue May  5 13:32:27 1998
+++ perl/t/lib/dprof/test8_t    Sun Jul  6 22:00:40 2003
@@ -0,0 +1,7 @@
+sub foo {
+       print "in sub foo\n";
+}
+
+foo();
+$^P -= 0x40;
+foo();

==== //depot/maint-5.8/perl/t/lib/dprof/test8_v#1 (text) ====
Index: perl/t/lib/dprof/test8_v
--- /dev/null   Tue May  5 13:32:27 1998
+++ perl/t/lib/dprof/test8_v    Sun Jul  6 22:00:40 2003
@@ -0,0 +1,10 @@
+# perl
+
+use V;
+
+dprofpp( '-t' );
+$expected = 
+qq{main::foo (2x)
+};
+
+report 20, sub { $expected eq $results };
End of Patch.

Reply via email to