From 0ffc6623ceb5acc7b954e8cdbaeb8ba319474d7b Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Thu, 6 Mar 1997 14:12:09 -0500 Subject: Don't autovivify array and hash elements in sub parameters On Thu, 06 Mar 1997 10:02:33 PST, Larry Wall wrote: >: =head2 Why does passing a subroutine an undefined element in a hash create it? >: >: If you say something like: >: >: somefunc($hash{"nonesuch key here"}); >: >: Then that element "autovivifies"; that is, it springs into existence >: whether you store something there or not. That's because functions >: get scalars passed in by reference. If somefunc() modifies C<$_[0]>, >: it has to be ready to write it back into the caller's version. > >I still think this behavior is bogus. By default, it should simply be >an error to pass an undefined value to a routine that wants to modify >it. (We can maybe modify that in the future with prototypes.) > >: =for p5p is this still true? > >Yes, unfortunately. Is my editorial opinion leaking through here? :-) I hope you considered my one-line patch to revert this behavior to that of perl5.001 (and perl4). I still think we'd be doing a service to include this patch in 5.004 (and remove that section from the FAQ and the docs). One may still modify real scalars via $_[0] with the patch, so it has little potential to cause breakage. p5p-msgid: 199703061912.OAA20606@aatma.engin.umich.edu --- op.c | 1 - 1 file changed, 1 deletion(-) diff --git a/op.c b/op.c index f27aa94360..f3e39fbc46 100644 --- a/op.c +++ b/op.c @@ -4399,7 +4399,6 @@ OP *op; } else list(o); - mod(o, OP_ENTERSUB); prev = o; o = o->op_sibling; } -- cgit v1.2.1 From b06b64f805517c26cbd7c4d2f74efd5f36b4692c Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Sat, 8 Mar 1997 19:19:38 -0500 Subject: Support READ and GETC for tied handles Subject: Re: Seeds of _93: planting TIEHANDLE/READ Ilya Zakharevich wrote: > Doug MacEachern writes: > > > > Chip Salzenberg wrote: > > > > > Here's what I have for _93. Speak now, etc. > > > > sorry to plant this seed so late, but I think it's important for the > > growth of young TIEHANDLE. We have PRINT and READLINE, why no READ? > > If you added READ, where is getc? Or is it covered by the patch? sorry, I was being selfish, I don't care about getc :-) new patch against fresh _92 below. I know this all came up in the past, there are more missing, why where they not covered before? p5p-msgid: 199703090019.TAA32591@postman.osf.org --- pod/perltie.pod | 23 ++++++++++++++++++++--- pp_sys.c | 30 ++++++++++++++++++++++++++++++ t/op/misc.t | 19 ++++++++++++++++++- 3 files changed, 68 insertions(+), 4 deletions(-) diff --git a/pod/perltie.pod b/pod/perltie.pod index ffd348fcc1..8201c041d8 100644 --- a/pod/perltie.pod +++ b/pod/perltie.pod @@ -611,7 +611,7 @@ use the each() function to iterate over such. Example: This is partially implemented now. A class implementing a tied filehandle should define the following methods: -TIEHANDLE, PRINT and/or READLINE, and possibly DESTROY. +TIEHANDLE, at least one of PRINT, READLINE, GETC or READ, and possibly DESTROY. It is especially useful when perl is embedded in some other program, where output to STDOUT and STDERR may have to be redirected in some @@ -641,11 +641,28 @@ the print function. =item READLINE this -This method will be called when the handle is read from. The method -should return undef when there is no more data. +This method will be called when the handle is read from via . +The method should return undef when there is no more data. sub READLINE { $r = shift; "PRINT called $$r times\n"; } + +=item READ this LIST +This method will be called when the handle is read from via the C +or C functions. + + sub READ { + $r = shift; + my($buf,$len,$offset) = @_; + print "READ called, \$buf=$buf, \$len=$len, \$offset=$offset"; + } + +=item GETC this + +This method will be called when the C function is called. + + sub GETC { print "Don't GETC, Get Perl"; return "a"; } + =item DESTROY this As with the other types of ties, this method will be called when the diff --git a/pp_sys.c b/pp_sys.c index a1153c6fe1..6cbca14cd8 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -829,6 +829,7 @@ PP(pp_getc) { dSP; dTARGET; GV *gv; + MAGIC *mg; if (MAXARG <= 0) gv = stdingv; @@ -836,6 +837,19 @@ PP(pp_getc) gv = (GV*)POPs; if (!gv) gv = argvgv; + + if (SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { + PUSHMARK(SP); + XPUSHs(mg->mg_obj); + PUTBACK; + ENTER; + perl_call_method("GETC", GIMME); + LEAVE; + SPAGAIN; + if (GIMME == G_SCALAR) + SvSetSV_nosteal(TARG, TOPs); + RETURN; + } if (!gv || do_eof(gv)) /* make sure we have fp with something */ RETPUSHUNDEF; TAINT; @@ -1126,8 +1140,24 @@ PP(pp_sysread) Sock_size_t bufsize; SV *bufsv; STRLEN blen; + MAGIC *mg; gv = (GV*)*++MARK; + if (SvMAGICAL(gv) && (mg = mg_find((SV*)gv, 'q'))) { + SV *sv; + + PUSHMARK(MARK-1); + *MARK = mg->mg_obj; + ENTER; + perl_call_method("READ", G_SCALAR); + LEAVE; + SPAGAIN; + sv = POPs; + SP = ORIGMARK; + PUSHs(sv); + RETURN; + } + if (!gv) goto say_undef; bufsv = *++MARK; diff --git a/t/op/misc.t b/t/op/misc.t index d7a62dccbb..0f251ea354 100755 --- a/t/op/misc.t +++ b/t/op/misc.t @@ -196,17 +196,34 @@ BEGIN failed--compilation aborted at - line 1. } sub DESTROY { print "and destroyed as well\n"; - } + } + sub READ { + shift; + print STDOUT "foo->can(READ)(@_)\n"; + return 100; + } + sub GETC { + shift; + print STDOUT "Don't GETC, Get Perl\n"; + return "a"; + } } { local(*FOO); tie(*FOO,'foo'); print FOO "sentence.", "reversed", "a", "is", "This"; print "-- ", , " --\n"; + my($buf,$len,$offset); + $buf = "string"; + $len = 10; $offset = 1; + read(FOO, $buf, $len, $offset) == 100 or die "foo->READ failed"; + getc(FOO) eq "a" or die "foo->GETC failed"; } EXPECT This is a reversed sentence. -- Out of inspiration -- +foo->can(READ)(string 10 1) +Don't GETC, Get Perl and destroyed as well ######## my @a; $a[2] = 1; for (@a) { $_ = 2 } print "@a\n" -- cgit v1.2.1 From bba014945c609b5474f61f5e82ed2ff3e83a6e47 Mon Sep 17 00:00:00 2001 From: Andy Dougherty Date: Sat, 8 Mar 1997 12:45:08 -0500 Subject: perl -P path patch On Fri, 7 Mar 1997, Robin Barker wrote: > This is a bug report for perl from rmb1@npl.co.uk, > generated with the help of perlbug 1.16 running under perl 5.00392. > > > ----------------------------------------------------------------- > [Please enter your report here] > > I can't get perl -P to work. > > In particular > % perl -P t/comp/cpp.aux > sh: /home/rmb1/local/perl/bin/cppstdin: not found > > the make process constructs cppstdin in the src directory > and would copy that to $installbin > but both t/comp/cpp.t and the perl binary look for a cppstdin > executable in $scriptdir. Thanks for the report. This is a bug. cppstdin belongs in $installbin, not $scriptdir. Why? Because cppstdin is architecture-dependent. It depends, in detail, on the particular compiler required for that architecture. True, we could rewrite it in portable perl to use all the appropriate Config.pm variables, but really, why bother? It's a tiny script that is rarely used, and I don't want to further encourage its use. Here's a patch. Hmm. It's a bit longer than I first imagined because I need to use BIN_EXP instead of BIN, and since perl currently doesn't use BIN_EXP, metaconfig hadn't stuck it in config.h. Alternatively, we could have put cppstdin in $installarch or something like that, but we'd better keep it in $bin just in case some-one's been relying on that. Ok. Here it is. (Mind you, I haven't yet *tested* this on a machine that needs cppstdin :-). p5p-msgid: Pine.SOL.3.95q.970308120242.23766D-100000@fractal.lafayette.edu private-msgid: Pine.SOL.3.95q.970308120242.23766D-100000@fractal.lafayette. --- config_H | 6 ++++++ config_h.SH | 6 ++++++ perl.c | 2 +- t/comp/cpp.t | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/config_H b/config_H index 39dd436b90..3cf388dbd5 100644 --- a/config_H +++ b/config_H @@ -42,6 +42,12 @@ */ #define BIN "/opt/perl/bin" /**/ +/* BIN_EXP: + * This symbol is the filename expanded version of the BIN symbol, for + * programs that do not want to deal with that at run-time. + */ +#define BIN_EXP "/opt/perl/bin" /**/ + /* CAT2: * This macro catenates 2 tokens together. */ diff --git a/config_h.SH b/config_h.SH index 893e71eb42..617684d14f 100755 --- a/config_h.SH +++ b/config_h.SH @@ -56,6 +56,12 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define BIN "$bin" /**/ +/* BIN_EXP: + * This symbol is the filename expanded version of the BIN symbol, for + * programs that do not want to deal with that at run-time. + */ +#define BIN_EXP "$binexp" /**/ + /* CAT2: * This macro catenates 2 tokens together. */ diff --git a/perl.c b/perl.c index d799f2b61f..9ae13b88d8 100644 --- a/perl.c +++ b/perl.c @@ -1650,7 +1650,7 @@ SV *sv; char *cpp = CPPSTDIN; if (strEQ(cpp,"cppstdin")) - sprintf(tokenbuf, "%s/%s", SCRIPTDIR, cpp); + sprintf(tokenbuf, "%s/%s", BIN_EXP, cpp); else sprintf(tokenbuf, "%s", cpp); sv_catpv(sv,"-I"); diff --git a/t/comp/cpp.t b/t/comp/cpp.t index 880aed836e..00a9e6806a 100755 --- a/t/comp/cpp.t +++ b/t/comp/cpp.t @@ -9,7 +9,7 @@ BEGIN { use Config; if ( ($Config{'cppstdin'} =~ /\bcppstdin\b/) and - ( ! -x $Config{'scriptdir'} . "/cppstdin") ) { + ( ! -x $Config{'binexp'} . "/cppstdin") ) { print "1..0\n"; exit; # Cannot test till after install, alas. } -- cgit v1.2.1 From 2f525a329506abe067c4ec9d4c7ae13d8b223081 Mon Sep 17 00:00:00 2001 From: Alan Burlison Date: Thu, 6 Mar 1997 16:28:00 +1300 Subject: Fix for Unisys UNIX and libperl.so Subject: Re: Why libperl.a instead of libperl.so in 5.003_91? - A PATCH In-Reply-To: > On the hunt of the elusive cause of the dynamic linker errors I am > getting in 5.003_91, I have noticed that unlike every other vesion of > perl5 prior to 5.002 that I have built on this platform, Configure > now builds a libperl.a instead of a libperl.so. Why? I also note > that the -Kpic flag has disappeared from the cc command lines. Why? The following patch to Configure solves the problem. Do I win the prize for the smallest ever patch to Perl? p5p-msgid: memo.147328@cix.compulink.co.uk --- Configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configure b/Configure index dc24cf7d03..86733d37b0 100755 --- a/Configure +++ b/Configure @@ -4555,7 +4555,7 @@ $undef) ;; *) case "$useshrplib" in '') case "$osname" in - svr4|dgux|dynixptx|esix|powerux) + svr4*|dgux|dynixptx|esix|powerux) dflt='yes' also='Building a shared libperl is required for dynamic loading to work on your system.' ;; -- cgit v1.2.1 From 59ae47780c168857b216412f8354d10ae6dd0b61 Mon Sep 17 00:00:00 2001 From: Andy Dougherty Date: Thu, 6 Mar 1997 11:15:47 -0500 Subject: Allow './Configure -Uoptimize' Subject: Re: miniperl core dumps during build of 5.003_91 on Unisys SVR4 On Thu, 6 Mar 1997, Alan Burlison wrote: > In-Reply-To: > > miniperl dumps core during the build on Unisys SVR4 version 1.4. > Apparently there is a bug in the C compiler optimiser in this version > of the OS. I'll attribute this problem to that, & just turn off Our record in this regard is mixed, at best, I think. (Some problems that appeared to be optimizer problems have been made to go away by fixing possibly-related bugs in the perl source.) Still, if it works . . . . > debugging. I am using Configure -des -Doptimize=' ' to do that. Is > this the best way? -Uoptimize causes Configure to die. Oops. That's not nice. The way I do this is sh Configure -Doptimize=none though your way is quite fine too. In general, there's no particular reason to expect optimize='undef' to do what you want, but it's not hard to handle it gracefully either, so we could apply this low-urgency but low-risk patch: p5p-msgid: Pine.SOL.3.95q.970306110532.11070A-100000@fractal.lafayette.edu private-msgid: Pine.SOL.3.95q.970306110532.11070A-100000@fractal.lafayette. --- Configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configure b/Configure index 86733d37b0..5392c7985f 100755 --- a/Configure +++ b/Configure @@ -3557,7 +3557,7 @@ $rm -f testcpp.c testcpp.out : determine optimize, if desired, or use for debug flag also case "$optimize" in -' ') dflt='none';; +' '|$undef) dflt='none';; '') dflt='-O';; *) dflt="$optimize";; esac -- cgit v1.2.1 From 64b4562546c4e74f87c21f65a76ec05e96a1b74f Mon Sep 17 00:00:00 2001 From: Spider Boardman Date: Fri, 7 Mar 1997 19:53:00 -0500 Subject: Use 'test -f', not 'test -x' Subject: 3_92 get "test: argument expected" during Configure This is a bug report for perl from spider@web.zk3.dec.com, generated with the help of perlbug 1.16 running under perl 5.00392. p5p-msgid: 199703080053.TAA13943@web.zk3.dec.com --- Configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Configure b/Configure index 5392c7985f..5eacc6c4c4 100755 --- a/Configure +++ b/Configure @@ -3899,7 +3899,7 @@ case "$nm_opt" in nm_opt='-p' # Solaris (and SunOS?) elif $test -f /dgux; then nm_opt='-p' # DG-UX - elif $test -x /lib64/rld; then + elif $test -f /lib64/rld; then nm_opt='-p' # 64-bit Irix else nm_opt='' -- cgit v1.2.1 From e6834c60cd85866fc530e8b4bb831af6186bad4d Mon Sep 17 00:00:00 2001 From: Andy Dougherty Date: Sat, 8 Mar 1997 13:21:22 -0500 Subject: Consolidated INSTALL updates since _92 I've incorporated the various suggestions for INSTALL. Here's the current version. (I took the opportunity to regularize some of the malloc-related sections as well as add the appropriate info.) Note: There's one error here: I refer users to L for the description of $^M, but I don't see it there! p5p-msgid: Pine.SOL.3.95q.970308131806.23766F-100000@fractal.lafayette.edu private-msgid: Pine.SOL.3.95q.970308131806.23766F-100000@fractal.lafayette. --- INSTALL | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/INSTALL b/INSTALL index 470acfccbe..6b36f930d5 100644 --- a/INSTALL +++ b/INSTALL @@ -20,7 +20,7 @@ The basic steps to build and install perl5 on a Unix system are: Each of these is explained in further detail below. For information on non-Unix systems, see the section on -L<"Porting Information"> below. +L<"Porting information"> below. =head1 DESCRIPTION @@ -616,11 +616,22 @@ In a future version of perl, these might be enabled by default. =over 4 +=item -DDEBUGGING_MSTATS + +If C is defined, you can extract malloc +statistics from the Perl interpreter. The overhead this imposes is not +large (perl just twiddles integers at malloc/free/sbrk time). When you +run perl with the environment variable C set to +either 1 or 2, the interpreter will dump statistics to stderr at exit +time and (with a value of 2) after compilation. If you install the +Devel::Peek module you can get the statistics whenever you like by +invoking its mstat() function. + =item -DEMERGENCY_SBRK -If this macro is defined, running out of memory need not be a fatal -error: a memory pool can allocated by assigning to the special -variable C<$^M>. +If C is defined, running out of memory need not be a +fatal error: a memory pool can allocated by assigning to the special +variable C<$^M>. See L for more details. =item -DPACK_MALLOC @@ -787,7 +798,7 @@ mechanism. =item Porting information -Specific information for the OS/2, Plan9, VMS and Win32 ports are in the +Specific information for the OS/2, Plan9, VMS and Win32 ports is in the corresponding subdirectories. Additional information, including a glossary of all those config.sh variables, is in the Porting subdirectory. @@ -1274,4 +1285,4 @@ from the original README by Larry Wall. =head1 LAST MODIFIED -$Id: INSTALL,v 1.3 1997/02/28 16:34:11 doughera Released $ +$Id: INSTALL,v 1.5 1997/03/08 18:15:49 doughera Released $ -- cgit v1.2.1 From 72451f4af0d31f24ef5b12bc5d034e3e8b35d43d Mon Sep 17 00:00:00 2001 From: Ilya Zakharevich Date: Fri, 7 Mar 1997 21:53:04 -0500 Subject: PODs corrections Below I fix misfeatures of PODs found by pod2ipf. Just for fun note that it auto-recognizes hyperlinks to WWW now. p5p-msgid: 199703080253.VAA24975@monk.mps.ohio-state.edu --- ext/DB_File/DB_File.pm | 2 +- ext/Socket/Socket.pm | 4 ++++ lib/Class/Template.pm | 4 ++++ lib/ExtUtils/Embed.pm | 4 ++++ lib/ExtUtils/MM_VMS.pm | 9 +++++++++ lib/ExtUtils/Mksymlists.pm | 4 ++++ lib/File/Basename.pm | 4 ++++ lib/File/stat.pm | 2 +- lib/Time/gmtime.pm | 2 +- lib/Time/localtime.pm | 2 +- lib/Time/tm.pm | 2 +- lib/User/grent.pm | 2 +- lib/User/pwent.pm | 2 +- pod/perlcall.pod | 2 +- pod/perldebug.pod | 2 -- pod/perlfunc.pod | 2 +- pod/perlguts.pod | 8 ++++---- pod/perllocale.pod | 6 +++--- pod/perlop.pod | 2 +- pod/perlsub.pod | 2 +- 20 files changed, 47 insertions(+), 20 deletions(-) diff --git a/ext/DB_File/DB_File.pm b/ext/DB_File/DB_File.pm index c8a7e3eadc..d962b88b2e 100644 --- a/ext/DB_File/DB_File.pm +++ b/ext/DB_File/DB_File.pm @@ -1144,7 +1144,7 @@ destroyed. undef $db ; untie %hash ; -See L for more details. +See L for more details. All the functions defined in L are available except for close() and dbopen() itself. The B method interface to the diff --git a/ext/Socket/Socket.pm b/ext/Socket/Socket.pm index e04689d9b8..51dce5939e 100644 --- a/ext/Socket/Socket.pm +++ b/ext/Socket/Socket.pm @@ -47,6 +47,8 @@ all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc. In addition, some structure manipulation functions are available: +=over + =item inet_aton HOSTNAME Takes a string giving the name of a host, and translates that @@ -144,6 +146,8 @@ Takes a sockaddr_un structure (as returned by pack_sockaddr_un()) and returns the pathname. Will croak if the structure does not have AF_UNIX in the right place. +=back + =cut use Carp; diff --git a/lib/Class/Template.pm b/lib/Class/Template.pm index 23a0d5ba83..38c2e98e66 100644 --- a/lib/Class/Template.pm +++ b/lib/Class/Template.pm @@ -45,6 +45,8 @@ This module uses perl5 classes to create nested data types. =head1 EXAMPLES +=over + =item * Example 1 use Class::Template; @@ -83,6 +85,8 @@ This module uses perl5 classes to create nested data types. bless $r; } +=back + =head1 NOTES Use '%' if the member should point to an anonymous hash. Use '@' if the diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm index 4d2ed6a77a..39d797e430 100644 --- a/lib/ExtUtils/Embed.pm +++ b/lib/ExtUtils/Embed.pm @@ -272,6 +272,8 @@ ccdlflags(), xsi_header(), xsi_protos(), xsi_body() =head1 FUNCTIONS +=over + =item xsinit() Generate C/C++ code for the XS initializer function. @@ -454,6 +456,8 @@ function to B for each @modules. B uses the xsi_* functions to generate most of it's code. +=back + =head1 EXAMPLES For examples on how to use B for building C/C++ applications diff --git a/lib/ExtUtils/MM_VMS.pm b/lib/ExtUtils/MM_VMS.pm index aca41ea371..eb52da01a5 100644 --- a/lib/ExtUtils/MM_VMS.pm +++ b/lib/ExtUtils/MM_VMS.pm @@ -36,6 +36,8 @@ the semantics. =head2 Methods always loaded +=over + =item eliminate_macros Expands MM[KS]/Make macros in a text string, using the contents of @@ -312,6 +314,7 @@ sub ext { ExtUtils::Liblist::ext(@_); } +=back =head2 SelfLoaded methods @@ -321,6 +324,8 @@ For overridden methods, documentation is limited to an explanation of why this method overrides the MM_Unix method; see the ExtUtils::MM_Unix documentation for more details. +=over + =item guess_name (override) Try to determine name of extension being built. We begin with the name @@ -2353,5 +2358,9 @@ sub nicetext { 1; +=back + +=cut + __END__ diff --git a/lib/ExtUtils/Mksymlists.pm b/lib/ExtUtils/Mksymlists.pm index eeed4bf794..4c6814cbcb 100644 --- a/lib/ExtUtils/Mksymlists.pm +++ b/lib/ExtUtils/Mksymlists.pm @@ -164,6 +164,8 @@ C, which is exported by default from C. It takes one argument, a list of key-value pairs, in which the following keys are recognized: +=over + =item NAME This gives the name of the extension (I Tk::Canvas) for which @@ -217,6 +219,8 @@ extension itself (for instance, some linkers add an '_' to the name of the extension). If it is not specified, it is derived from the NAME attribute. It is presently used only by OS2. +=back + When calling C, one should always specify the NAME attribute. In most cases, this is all that's necessary. In the case of unusual extensions, however, the other attributes diff --git a/lib/File/Basename.pm b/lib/File/Basename.pm index dd7cdcf82e..6abfcd2cb4 100644 --- a/lib/File/Basename.pm +++ b/lib/File/Basename.pm @@ -95,6 +95,8 @@ would yield $dir eq 'Doc_Root:[Help]' $type eq '.Rnh' +=over + =item C The basename() routine returns the first element of the list produced @@ -116,6 +118,8 @@ cases. For example, for the input file specification F, fileparse() considers the directory name to be F, while dirname() considers the directory name to be F<.>). +=back + =cut require 5.002; diff --git a/lib/File/stat.pm b/lib/File/stat.pm index 014af60c5b..82cb3f6df3 100644 --- a/lib/File/stat.pm +++ b/lib/File/stat.pm @@ -50,7 +50,7 @@ __END__ =head1 NAME -File::stat.pm - by-name interface to Perl's built-in stat() functions +File::stat - by-name interface to Perl's built-in stat() functions =head1 SYNOPSIS diff --git a/lib/Time/gmtime.pm b/lib/Time/gmtime.pm index 35233f586a..353ade49ef 100644 --- a/lib/Time/gmtime.pm +++ b/lib/Time/gmtime.pm @@ -35,7 +35,7 @@ __END__ =head1 NAME -Time::gmtime.pm - by-name interface to Perl's built-in gmtime() function +Time::gmtime - by-name interface to Perl's built-in gmtime() function =head1 SYNOPSIS diff --git a/lib/Time/localtime.pm b/lib/Time/localtime.pm index 2e811e627f..8f7695b0f5 100644 --- a/lib/Time/localtime.pm +++ b/lib/Time/localtime.pm @@ -36,7 +36,7 @@ __END__ =head1 NAME -Time::localtime.pm - by-name interface to Perl's built-in localtime() function +Time::localtime - by-name interface to Perl's built-in localtime() function =head1 SYNOPSIS diff --git a/lib/Time/tm.pm b/lib/Time/tm.pm index d1df295683..7041432c0d 100644 --- a/lib/Time/tm.pm +++ b/lib/Time/tm.pm @@ -11,7 +11,7 @@ __END__ =head1 NAME -Time::tm.pm - internal object used by Time::gmtime and Time::localtime +Time::tm - internal object used by Time::gmtime and Time::localtime =head1 SYNOPSIS diff --git a/lib/User/grent.pm b/lib/User/grent.pm index 1185958430..3c4635ba2a 100644 --- a/lib/User/grent.pm +++ b/lib/User/grent.pm @@ -37,7 +37,7 @@ __END__ =head1 NAME -User::grent.pm - by-name interface to Perl's built-in getgr*() functions +User::grent - by-name interface to Perl's built-in getgr*() functions =head1 SYNOPSIS diff --git a/lib/User/pwent.pm b/lib/User/pwent.pm index 9f41fe9f39..a027fe627b 100644 --- a/lib/User/pwent.pm +++ b/lib/User/pwent.pm @@ -49,7 +49,7 @@ __END__ =head1 NAME -User::pwent.pm - by-name interface to Perl's built-in getpw*() functions +User::pwent - by-name interface to Perl's built-in getpw*() functions =head1 SYNOPSIS diff --git a/pod/perlcall.pod b/pod/perlcall.pod index dc965009d6..9a4a886a59 100644 --- a/pod/perlcall.pod +++ b/pod/perlcall.pod @@ -565,7 +565,7 @@ Next, we come to XPUSHs. This is where the parameters actually get pushed onto the stack. In this case we are pushing a string and an integer. -See the L for details +See the L for details on how the XPUSH macros work. =item 6. diff --git a/pod/perldebug.pod b/pod/perldebug.pod index 0c61b74350..a682de1ade 100644 --- a/pod/perldebug.pod +++ b/pod/perldebug.pod @@ -465,8 +465,6 @@ corresponds to F, say, by issuing a command like See L<"Debugger Internals"> below for more details. -=over 12 - =item E [ command ] Set an action (Perl command) to happen before every debugger prompt. diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 09b5ad3df7..eb7276a3b4 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -1517,7 +1517,7 @@ Note that, because $_ is a reference into the list value, it can be used to modify the elements of the array. While this is useful and supported, it can cause bizarre results if the LIST is not a named array. Similarly, grep returns aliases into the original list, -much like the way that L's index variable aliases the list +much like the way that L's index variable aliases the list elements. That is, modifying an element of a list returned by grep actually modifies the element in the original list. diff --git a/pod/perlguts.pod b/pod/perlguts.pod index 21e4b2c789..8c78802fb4 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -162,7 +162,7 @@ bus error, or just weird results. Change the zero to C<&sv_undef> in the first line and all will be well. To free an SV that you've created, call C. Normally this -call is not necessary (see the section on L). +call is not necessary (see the section on L). =head2 What's Really Stored in an SV? @@ -422,8 +422,8 @@ A reference can be blessed into a package with the following function: SV* sv_bless(SV* sv, HV* stash); The C argument must be a reference. The C argument specifies -which class the reference will belong to. See the section on L -for information on converting class names into stashes. +which class the reference will belong to. See the section on +L for information on converting class names into stashes. /* Still under construction */ @@ -995,7 +995,7 @@ The correspondence between OP's and Is is not 1-to-1. Different OP's in the compile tree of the unit can use the same target, if this would not conflict with the expected life of the temporary. -=head2 Scratchpads and recursions +=head2 Scratchpads and recursion In fact it is not 100% true that a compiled unit contains a pointer to the scratchpad AV. In fact it contains a pointer to an AV of diff --git a/pod/perllocale.pod b/pod/perllocale.pod index 9ac77b8e48..d393b81483 100644 --- a/pod/perllocale.pod +++ b/pod/perllocale.pod @@ -63,7 +63,7 @@ C. If you want a Perl application to process and present your data according to a particular locale, the application code should include -the S> pragma (see L) where +the S> pragma (see L) where appropriate, and B of the following must be true: =over 4 @@ -345,7 +345,7 @@ call strxfrm() for both their operands, then do a byte-by-byte comparison of the transformed strings. By calling strxfrm() explicitly, and using a non locale-affected comparison, the example attempts to save a couple of transformations. In fact, it doesn't save anything: Perl -magic (see L) creates the transformed version of a +magic (see L) creates the transformed version of a string the first time it's needed in a comparison, then keeps it around in case it's needed again. An example rewritten the easy way with C runs just about as fast. It also copes with null characters @@ -703,7 +703,7 @@ L) was always in force, even if the program environment suggested otherwise. By default, Perl still behaves this way so as to maintain backward compatibility. If you want a Perl application to pay attention to locale information, you B use -the S> pragma (see L> Pragma>) to +the S> pragma (see L) to instruct it to do so. Versions of Perl from 5.002 to 5.003 did use the C diff --git a/pod/perlop.pod b/pod/perlop.pod index 88a8af0fd4..71794fa759 100644 --- a/pod/perlop.pod +++ b/pod/perlop.pod @@ -88,7 +88,7 @@ Also parsed as terms are the C and C constructs, as well as subroutine and method calls, and the anonymous constructors C<[]> and C<{}>. -See also L toward the end of this section, +See also L toward the end of this section, as well as L<"I/O Operators">. =head2 The Arrow Operator diff --git a/pod/perlsub.pod b/pod/perlsub.pod index a38d05be25..62b5f0e6b0 100644 --- a/pod/perlsub.pod +++ b/pod/perlsub.pod @@ -503,7 +503,7 @@ Even if you don't want to modify an array, this mechanism is useful for passing multiple arrays in a single LIST, because normally the LIST mechanism will merge all the array values so that you can't extract out the individual arrays. For more on typeglobs, see -L. +L. =head2 Pass by Reference -- cgit v1.2.1