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.