summaryrefslogtreecommitdiff
path: root/ext/DB_File
Commit message (Collapse)AuthorAgeFilesLines
* [win32] change all 'sp' to 'SP' in code and in the docs. ExplicitlyGurusamy Sarathy1998-03-071-5/+5
| | | | | | mention that local stack pointer should be called SP. This makes the API safer from source incompatibilities down the line. p4raw-id: //depot/win32/perl@795
* Back out DB_File patch (change _553) and tweak Configure.Paul Marquess1998-02-251-8/+0
| | | | | Subject: ANNOUNCE: perl5.004_60 is available p4raw-id: //depot/perl@578
* DB_File ->length does not work just after tie.Nick Ing-Simmons1998-02-201-0/+8
| | | p4raw-id: //depot/perl@553
* DB_File 1.58 patchPaul Marquess1998-02-123-27/+257
| | | p4raw-id: //depot/perl@506
* Newer -DLEAKTEST patchIlya Zakharevich1998-02-061-3/+4
| | | p4raw-id: //depot/perl@466
* TIEARRAY updates - almost works ...Nick Ing-Simmons1998-01-141-5/+1
| | | p4raw-id: //depot/ansiperl@424
* tie array changes to core and testsNick Ing-Simmons1998-01-131-2/+8
| | | p4raw-id: //depot/ansiperl@418
* Upgrade DB_File to 1.56:Paul Marquess1997-12-174-321/+639
| | | | | Subject: DB_File-1.56 for _55 p4raw-id: //depot/perl@372
* AIX patch (including Configure support for {sched,pthread}_yield,Jarkko Hietaniemi1997-11-251-0/+5
| | | | | | | pthread initial detach state, renaming perl_thread to perl_os_thread and struct thread to struct perl_thread): Subject: Re: _54 on AIX p4raw-id: //depot/perl@290
* Fix up ansiperl integration. Back to passing all expected testsMalcolm Beattie1997-11-111-3/+0
| | | | | with usethreads. Untested with non-threaded perl. p4raw-id: //depot/perl@231
* Merge maint-5.004 branch (5.004_03) with mainline.Malcolm Beattie1997-10-083-20/+37
|\ | | | | | | | | MANIFEST is out of sync. p4raw-id: //depot/perl@114
| * DB_File 1.15 patchPaul Marquess1997-08-073-20/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch for DB_File fixes a few minor bugs and adds the sub-class patch. Patch from Gisle Aas <gisle@aas.no> to suppress "use of undefined value" warning with db_get and db_seq. Patch from Gisle Aas <gisle@aas.no> to make DB_File export only the O_* constants from Fcntl. Removed the DESTROY method from the DB_File::HASHINFO module. Previously DB_File hard-wired the class name of any object that it created to "DB_File". This makes sub-classing difficult. Now DB_File creats objects in the namespace of the package it has been inherited into. p5p-msgid: 9707192117.AA01973@claudius.bfsec.bt.co.uk
* | More fixups for thrperl integration.Malcolm Beattie1997-06-052-5/+13
| | | | | | p4raw-id: //depot/perl@27
* | Fix up integration 5.003->5.004.Malcolm Beattie1997-05-251-10/+0
| | | | | | p4raw-id: //depot/perl@19
* | First stab at 5.003 -> 5.004 integration.Malcolm Beattie1997-05-254-391/+1574
|\ \ | |/ | | p4raw-id: //depot/perl@18
| * Refresh DB_File to 1.14Paul Marquess1997-05-012-17/+45
| | | | | | | | | | | | | | | | | | Something for _99. Made it illegal to tie an associative array to a RECNO database and an ordinary array to a HASH or BTREE database. p5p-msgid: 9704302045.AA05484@claudius.bfsec.bt.co.uk
| * Refresh DB_File to 1.13Paul Marquess1997-04-272-14/+19
| | | | | | | | | | | | | | | | Subject: DB_File 1.13 patch Here is the patch to (hopefully) fix the casting warnings. p5p-msgid: 9704271413.AA08876@claudius.bfsec.bt.co.uk
| * [inseparable changes from match from perl-5.003_97c to perl-5.003_97d]perl-5.003_97dPerl 5 Porters1997-04-091-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DOCUMENTATION Subject: more (err, less) doubled words Date: Fri, 11 Apr 1997 22:31:25 +0300 (EET DST) From: Jarkko Hietaniemi <Jarkko.Hietaniemi@cc.hut.fi> Files: ext/DB_File/DB_File.pm ext/DynaLoader/DynaLoader.pm ext/IO/lib/IO/Pipe.pm lib/CGI.pm lib/Exporter.pm lib/ExtUtils/MakeMaker.pm lib/IPC/Open2.pm lib/IPC/Open3.pm lib/vars.pm pod/perlcall.pod pod/perldiag.pod pod/perlfaq1.pod pod/perlfaq3.pod pod/perlfaq5.pod pod/perlfaq7.pod pod/perlfaq8.pod pod/perlipc.pod private-msgid: 199704111931.WAA24460@alpha.hut.fi LIBRARY AND EXTENSIONS Subject: win32: perl5db patch Date: Thu, 10 Apr 1997 17:42:13 -0400 From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: lib/perl5db.pl Msg-ID: 199704102142.RAA27396@aatma.engin.umich.edu (applied based on p5p patch as commit 56cbacacb6c634a626b06407cbd555bc1519a2d5) Subject: Enhancements to debugger, Term::ReadLine, Term::Cap Date: Thu, 10 Apr 1997 15:48:07 -0400 (EDT) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: lib/Term/Cap.pm lib/Term/ReadLine.pm lib/perl5db.pl Msg-ID: 199704101948.PAA01841@monk.mps.ohio-state.edu (applied based on p5p patch as commit 6fb2d361298c4eb5d42f1f63b0f74a60d407e546) OTHER CORE CHANGES Subject: New error msg for low-key failure of C<require> From: Chip Salzenberg <chip@perl.com> Files: pod/perldiag.pod pp_ctl.c t/pragma/strict-subs t/pragma/strict-vars
| * DB_File documentation fixPaul Marquess1997-03-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | Title: "Regularize headings in DB_File documentation" From: Chip Salzenberg Files: ext/DB_File/DB_File.pm [see commit 68dc074516a6859e3424b48d1647bcb08b1a1a7d] You forgot to fix the links to the sections titles you changed. p5p-msgid: 9703240854.AA08401@claudius.bfsec.bt.co.uk
| * [inseparable changes from match from perl-5.003_93 to perl-5.003_94]Perl 5 Porters1997-03-092-15/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BUILD PROCESS Subject: Don't use db 2.x, we're not yet ready for it From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: Configure Subject: Warn if #! command is longer than 32 chars From: Chip Salzenberg <chip@perl.com> Files: Configure Subject: patches re perl -wc install{perl,man} Date: Tue, 11 Mar 97 13:13:16 GMT From: Robin Barker <rmb1@cise.npl.co.uk> Files: installman installperl I got the new installhtml from CPAN (TOMC/scripts/pod2html-v2.0beta.shar.gz) I had problems getting the system call to splitpod at line 376 to work. 1. splitroot was not being found 2. splitroot was not finding its library 3. I changed htmlroot to podroot at line 175 to match the documentation. p5p-msgid: 3180.9703270906@tempest.cise.npl.co.uk private-msgid: 21544.9703111313@tempest.cise.npl.co.uk Subject: 3_93 doesn't install pods Date: Sun, 16 Mar 1997 02:21:35 -0500 From: Spider Boardman <spider@orb.nashua.nh.us> Files: installperl Msg-ID: 199703160721.CAA08339@Orb.Nashua.NH.US (applied based on p5p patch as commit 43506a616735d616e03d277d64fbae1e864024bf) Subject: When installing, use File::Copy instead of `cp` From: Chip Salzenberg <chip@perl.com> Files: installperl Subject: Make hint files' warnings more visible Date: Thu, 20 Mar 1997 23:18:03 +0100 (MET) From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> Files: hints/3b1.sh hints/apollo.sh hints/cxux.sh hints/dcosx.sh hints/dgux.sh hints/esix4.sh hints/freebsd.sh hints/hpux.sh hints/irix_4.sh hints/mips.sh hints/next_3_0.sh hints/os2.sh hints/qnx.sh hints/sco_2_3_3.sh hints/sco_2_3_4.sh hints/solaris_2.sh hints/ultrix_4.sh hints/utekv.sh private-msgid: 199703202218.XAA09041@bombur2.uio.no CORE LANGUAGE CHANGES Subject: Defer creation of array and hash elements as parameters From: Chip Salzenberg <chip@perl.com> Files: dump.c global.sym mg.c op.c op.h perl.h pp.c pp_hot.c proto.h sv.c Subject: New special literal: __PACKAGE__ From: Chip Salzenberg <chip@perl.com> Files: keywords.pl pod/perldata.pod toke.c Subject: Abort compilation at C<BEGIN{}> or C<use> after errors From: Chip Salzenberg <chip@perl.com> Files: op.c pod/perldiag.pod t/pragma/subs.t Subject: allow C<substr 'hello', -10> Date: Mon, 10 Mar 1997 15:55:44 -0800 From: David Dyck <dcd@tc.fluke.com> Files: pp.c Msg-ID: 97Mar10.155517pst.35716-2@gateway.fluke.com (applied based on p5p patch as commit 77f720bf92f3d0100352416caeedd57936807ff2) Subject: Regularize C<x % y>, esp. when y is negative From: Chip Salzenberg <chip@perl.com> Files: pp.c Subject: Flush before C<flock(FOO, LOCK_UN)> From: Chip Salzenberg <chip@perl.com> Files: pod/perldelta.pod pod/perlfunc.pod pp_sys.c Subject: Close loopholes in prototype mismatch warning From: Chip Salzenberg <chip@perl.com> Files: op.c sv.c toke.c Subject: Warn on C<while ($x = each %y) {}> From: Chip Salzenberg <chip@perl.com> Files: op.c pod/perldiag.pod Subject: Don't warn on C<print $fh func()> From: Chip Salzenberg <chip@perl.com> Files: toke.c CORE PORTABILITY Subject: Don't say 'static var = 1' Date: Sun, 9 Mar 1997 15:19:57 +0200 (EET) From: Jarkko Hietaniemi <jhi@iki.fi> Files: malloc.c private-msgid: 199703091319.PAA24714@alpha.hut.fi Subject: HP/UX hint comments Date: Fri, 21 Mar 1997 15:43:07 -0500 (EST) From: Andy Dougherty <doughera@fractal.phys.lafayette.edu> Files: hints/hpux.sh private-msgid: Pine.SOL.3.95q.970321153918.28770B-100000@fractal.lafayette. Subject: VMS update Date: Tue, 11 Mar 1997 22:00:55 -0500 (EST) From: Charles Bailey <bailey@hmivax.humgen.upenn.edu> Files: lib/ExtUtils/MM_VMS.pm lib/Test/Harness.pm t/op/taint.t utils/perlbug.PL vms/descrip.mms Msg-ID: 1997Mar11.220056.1873182@hmivax.humgen.upenn.edu (applied based on p5p patch as commit 2b5725676da60b49978f38b85bb7f8ee20b4cb55) Subject: vmsish.t and related patches Date: Fri, 21 Mar 1997 01:32:47 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: MANIFEST perl.h vms/descrip.mms vms/ext/vmsish.t vms/vms.c private-msgid: 01IGQW3IP1KK005VFB@hmivax.humgen.upenn.edu Subject: Win32 update (four patches) From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: MANIFEST README.win32 lib/AutoSplit.pm lib/Cwd.pm lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm lib/File/Basename.pm lib/File/Path.pm mg.c t/comp/cpp.t t/comp/script.t t/harness t/io/argv.t t/io/dup.t t/io/fs.t t/io/inplace.t t/lib/filehand.t t/lib/io_dup.t t/lib/io_sel.t t/lib/io_taint.t t/op/closure.t t/op/exec.t t/op/glob.t t/op/goto.t t/op/magic.t t/op/misc.t t/op/rand.t t/op/split.t t/op/stat.t t/op/sysio.t t/op/taint.t t/pragma/strict.t t/pragma/subs.t t/pragma/warning.t util.c win32/* DOCUMENTATION Subject: perlfaq.pod Date: Mon, 17 Mar 1997 16:01:40 -0700 From: Tom Christiansen <tchrist@jhereg.perl.com> Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod pod/perlfaq*.pod pod/roffitall private-msgid: 199703172301.QAA12566@jhereg.perl.com Subject: *.pod changes based on the FAQ Date: Mon, 17 Mar 1997 09:50:14 -0700 (MST) From: Nat Torkington <gnat@frii.com> Files: pod/perldata.pod pod/perlfunc.pod pod/perlipc.pod pod/perlop.pod pod/perlre.pod pod/perlrun.pod pod/perlsec.pod pod/perlvar.pod Msg-ID: 199703171650.JAA02655@elara.frii.com (applied based on p5p patch as commit 3c10ad8e31f7d77e71c048b1746912f41cb540f0) Subject: Document that $. is not reset on implicit open From: Chip Salzenberg <chip@perl.com> Files: pod/perldelta.pod Subject: Re: Embedding success with _93 Date: Tue, 11 Mar 1997 17:55:05 -0500 From: Doug MacEachern <dougm@opengroup.org> Files: pod/perldelta.pod Msg-ID: 199703112255.RAA22775@postman.osf.org (applied based on p5p patch as commit 63a6ff3a1dc8d86edb4d8a7ec1548205e32a7114) Subject: Patch to document illegal characters Date: Fri, 14 Mar 1997 09:08:10 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: pod/perldiag.pod pod/perltrap.pod private-msgid: Pine.GSO.3.96.970314090558.15346J-100000@kelly.teleport.com Subject: Document trap with //o and closures Date: Mon, 10 Mar 1997 18:08:08 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: pod/perltrap.pod Msg-ID: 01IGCHWRNSEU00661G@hmivax.humgen.upenn.edu (applied based on p5p patch as commit a54cb1465fdb400848f23705a6f130bb5c34ab70) Subject: Illegal character in input Date: Mon, 10 Mar 1997 15:21:21 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: pod/perldiag.pod private-msgid: Pine.GSO.3.95q.970310151512.22489a-100000@kelly.teleport.com Subject: Patch for docs Re: Lost backslash Date: Wed, 19 Mar 1997 07:28:57 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: pod/perlop.pod private-msgid: Pine.GSO.3.96.970319071438.24834G-100000@kelly.teleport.com Subject: XSUB's doc fix Date: Mon, 10 Mar 1997 11:42:06 -0500 From: Roderick Schertler <roderick@argon.org> Files: pod/perlcall.pod pod/perlguts.pod pod/perlxstut.pod Msg-ID: 28804.858012126@eeyore.ibcinc.com (applied based on p5p patch as commit 5f43237038ea7a4151d3bf65aeeecd56ceb78a6a) Subject: Document return from do FILE Date: Tue, 18 Mar 1997 14:50:10 +0000 From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> Files: pod/perlfunc.pod Msg-ID: E0w70DK-0001yJ-00@ursa.cus.cam.ac.uk (applied based on p5p patch as commit ba8d5fb439878113de8abc9b52d2af237d30fb3c) Subject: Document $^M in perlvar Date: Thu, 20 Mar 97 21:08:33 GMT From: Robin Barker <rmb1@cise.npl.co.uk> Files: pod/perlvar.pod private-msgid: 6153.9703202108@tempest.cise.npl.co.uk Subject: typos in pods of 5.003_93 Date: 19 Mar 1997 10:39:38 -0600 From: Jim Meyering <meyering@asic.sc.ti.com> Files: pod/perlfunc.pod pod/perlguts.pod pod/perlre.pod pod/perltoot.pod pod/perlxs.pod Msg-ID: wpgendbzvhx.fsf@asic.sc.ti.com (applied based on p5p patch as commit 76a9873e006cf8f48f57062b2a0dd40b5ed45a95) Subject: Re: Updates to pod punctuations Date: Fri, 14 Mar 1997 17:00:12 -0500 From: Larry W. Virden <lvirden@cas.org> Files: pod/*.pod private-msgid: 9703141700.AA22911@cas.org Subject: clarify example in perlfunc Date: Thu, 20 Mar 1997 19:46:01 +0200 (EET) From: Jarkko Hietaniemi <jhi@iki.fi> Files: pod/perlfunc.pod private-msgid: 199703201746.TAA25195@alpha.hut.fi Subject: Regularize headings in DB_File documentation From: Chip Salzenberg <chip@perl.com> Files: ext/DB_File/DB_File.pm LIBRARY AND EXTENSIONS Subject: New module: autouse.pm Date: Thu, 20 Mar 1997 19:34:30 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: MANIFEST lib/autouse.pm Msg-ID: 199703210034.TAA13469@monk.mps.ohio-state.edu (applied based on p5p patch as commit 6757905eccb6dd0440ef65e8128a277a20f7d943) Subject: Refresh DB_File to 1.12 Date: Wed, 12 Mar 97 15:51:14 GMT From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs Msg-ID: 9703121551.AA07435@claudius.bfsec.bt.co.uk (applied based on p5p patch as commit b3deed9189f963e9994815307931f9084f60d1d9) Subject: In File::Path, some systems can't remove read-only files From: Chip Salzenberg <chip@perl.com> Files: lib/File/Path.pm Subject: Fix bugs revealed by prototype warnings From: Chip Salzenberg <chip@perl.com> Files: ext/Opcode/Opcode.pm lib/ExtUtils/MakeMaker.pm lib/Getopt/Long.pm Subject: Problems with SKIP in makemaker Date: Thu, 20 Mar 1997 23:13:31 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: lib/ExtUtils/MM_Unix.pm Msg-ID: 199703210413.XAA21601@monk.mps.ohio-state.edu (applied based on p5p patch as commit 970322a2e8024294ada6e8d1a027cb98f1f48ee3) Subject: In Exporter, don't C<require Carp> at file scope From: Chip Salzenberg <chip@perl.com> Files: lib/Exporter.pm Subject: fix for Exporter's $SIG{__WARN__} handler Date: Thu, 13 Mar 1997 18:40:51 -0500 From: Roderick Schertler <roderick@argon.org> Files: lib/Exporter.pm Msg-ID: 2282.858296451@eeyore.ibcinc.com (applied based on p5p patch as commit 2768ea1aeef34f42d096f198fbe629c8374ca429) Subject: Don't try to substr() refs in Carp From: Chip Salzenberg <chip@perl.com> Files: lib/Carp.pm Subject: Re: NUL in die and other messages Date: Fri, 21 Mar 1997 09:58:17 +0000 From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> Files: lib/Carp.pm Msg-ID: E0w815V-0005xs-00@ursa.cus.cam.ac.uk (applied based on p5p patch as commit 52a267c574cb66c4bc35601dcf148a1d7a3bc557) OTHER CORE CHANGES Subject: Guard against buffer overflow in yyerror() and related funcs From: Chip Salzenberg <chip@perl.com> Files: toke.c Subject: For bin compat, rename calllist() and he_{,delay}free From: Chip Salzenberg <chip@perl.com> Files: global.sym hv.c op.c perl.c pod/perlguts.pod proto.h Subject: Fix C<print> on tied default handle From: Chip Salzenberg <chip@perl.com> Files: pp_hot.c Subject: Fix C<local($a, undef, $b) = (1,2,3)> From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Improve diagnostic on C<@a++>, C<--%a>, @a =~ s/a/b/ From: Chip Salzenberg <chip@perl.com> Files: pp.c pp_hot.c Subject: Don't warn on C<$x{y} .= "z"> when %x is tied From: Chip Salzenberg <chip@perl.com> Files: pp_hot.c Subject: Eliminate 'unreachable code' warnings From: Chip Salzenberg <chip@perl.com> Files: ext/POSIX/POSIX.xs mg.c pp_ctl.c toke.c Subject: printf format corrections for -DDEBUGGING Date: Wed, 19 Mar 1997 12:42:50 -0500 From: Roderick Schertler <roderick@argon.org> Files: doop.c malloc.c op.c pp_ctl.c regexec.c sv.c x2p/str.c x2p/util.c Msg-ID: 26592.858793370@eeyore.ibcinc.com (applied based on p5p patch as commit e125f273e351a19a92b69d6244af55abbbf0a26d) Subject: Warn about missing -DMULTIPLICITY if likely a problem Date: Wed, 19 Mar 1997 18:45:53 -0500 From: Doug MacEachern <dougm@opengroup.org> Files: perl.c Msg-ID: 199703192345.SAA15070@postman.osf.org (applied based on p5p patch as commit 71aeea1753924e6e19c2461e241e3f7d8a570e90)
| * [inseparable changes from match from perl-5.003_92 to perl-5.003_93]Perl 5 Porters1997-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BUILD PROCESS Subject: Fix for Unisys UNIX and libperl.so Date: Thu, 6 Mar 97 16:28 GMT0 From: Alan Burlison <aburlison@cix.compulink.co.uk> Files: Configure Msg-ID: memo.147328@cix.compulink.co.uk (applied based on p5p patch as commit 2f525a329506abe067c4ec9d4c7ae13d8b223081) Subject: Allow './Configure -Uoptimize' Date: Thu, 06 Mar 1997 11:15:47 -0500 (EST) From: Andy Dougherty <doughera@fractal.phys.lafayette.edu> Files: Configure Msg-ID: Pine.SOL.3.95q.970306110532.11070A-100000@fractal.lafayette. (applied based on p5p patch as commit 59ae47780c168857b216412f8354d10ae6dd0b61) Subject: Use 'test -f', not 'test -x' Date: Fri, 7 Mar 1997 19:53:00 -0500 From: Spider Boardman <spider@web.zk3.dec.com> Files: Configure Msg-ID: 199703080053.TAA13943@web.zk3.dec.com (applied based on p5p patch as commit 64b4562546c4e74f87c21f65a76ec05e96a1b74f) CORE LANGUAGE CHANGES Subject: Don't autovivify array and hash elements in sub parameters Date: Thu, 06 Mar 1997 14:12:09 -0500 From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: op.c pod/perldelta.pod pod/perlsub.pod pod/perltrap.pod Msg-ID: 199703061912.OAA20606@aatma.engin.umich.edu (applied based on p5p patch as commit 0ffc6623ceb5acc7b954e8cdbaeb8ba319474d7b) Subject: Support READ and GETC for tied handles Date: Sat, 08 Mar 1997 19:19:38 -0500 From: Doug MacEachern <dougm@opengroup.org> Files: pod/perldelta.pod pod/perltie.pod pp_sys.c t/op/misc.t Msg-ID: 199703090019.TAA32591@postman.osf.org (applied based on p5p patch as commit b06b64f805517c26cbd7c4d2f74efd5f36b4692c) Subject: Warn on C<@x =~ /a/> and C<%x =~ s/a/b/> From: Chip Salzenberg <chip@perl.com> Files: op.c pod/perldiag.pod CORE PORTABILITY Subject: VMS update Date: Fri, 07 Mar 1997 22:49:46 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: lib/ExtUtils/MM_VMS.pm vms/descrip.mms vms/gen_shrfls.pl vms/sockadapt.h private-msgid: 01IG8KN5R28M00661G@hmivax.humgen.upenn.edu DOCUMENTATION Subject: Consolidated INSTALL updates since _92 Date: Sat, 08 Mar 1997 13:21:22 -0500 (EST) From: Andy Dougherty <doughera@fractal.phys.lafayette.edu> Files: Msg-ID: Pine.SOL.3.95q.970308131806.23766F-100000@fractal.lafayette. (applied based on p5p patch as commit e6834c60cd85866fc530e8b4bb831af6186bad4d) Subject: PODs corrections Date: Fri, 7 Mar 1997 21:53:04 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: ext/DB_File/DB_File.pm ext/Socket/Socket.pm lib/Class/Template.pm lib/ExtUtils/Embed.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Mksymlists.pm lib/File/Basename.pm lib/File/stat.pm lib/Time/gmtime.pm lib/Time/localtime.pm lib/Time/tm.pm lib/User/grent.pm lib/User/pwent.pm pod/perlcall.pod pod/perldebug.pod pod/perlfunc.pod pod/perlguts.pod pod/perllocale.pod pod/perlop.pod pod/perlsub.pod Msg-ID: 199703080253.VAA24975@monk.mps.ohio-state.edu (applied based on p5p patch as commit 72451f4af0d31f24ef5b12bc5d034e3e8b35d43d) OTHER CORE CHANGES Subject: Fix imbalanced ENTER/LEAVE from C<BEGIN{die}> From: Chip Salzenberg <chip@perl.com> Files: op.c perl.c proto.h Subject: perl -P path patch Date: Sat, 08 Mar 1997 12:45:08 -0500 (EST) From: Andy Dougherty <doughera@fractal.phys.lafayette.edu> Files: config_H config_h.SH perl.c plan9/config.plan9 t/comp/cpp.t vms/config.vms win32/config.H Msg-ID: Pine.SOL.3.95q.970308120242.23766D-100000@fractal.lafayette. (applied based on p5p patch as commit bba014945c609b5474f61f5e82ed2ff3e83a6e47)
| * [inseparable changes from patch from perl5.003_26 to perl5.003_27]Perl 5 Porters1997-02-181-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BUILD PROCESS Subject: Fix eval "" in Configure Date: Fri, 14 Feb 1997 13:09:53 -0500 From: John L. Allen <allen@gateway.grumman.com> Files: Configure Subject: Re: Configure problem on IRIX - me dumb p5p-msgid: <9702141809.AA17001@gateway.grumman.com> Subject: Don't link with -lsfio if sfio is not requested From: Chip Salzenberg <chip@perl.com> Files: Configure Subject: perl5.003_26 Configure change "win" for AIX 4 Date: Fri, 14 Feb 1997 13:59:02 -0600 (CST) From: Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> Files: Configure p5p-msgid: <Pine.OSF.3.95.970214135751.32654A-100000@dogbert.cc.ndsu.NoDak.edu> private-msgid: <Pine.OSF.3.95.970214135751.32654A-100000@dogbert.cc.ndsu.NoD CORE LANGUAGE CHANGES Subject: Better looks_like_number() function [sv.c] Date: Fri, 14 Feb 1997 18:08:52 +0100 From: Gisle Aas <aas@bergen.sn.no> Files: sv.c Msg-ID: <199702141708.SAA17546@bergen.sn.no> (applied based on p5p patch as commit 8dbaa58ee2aba7cc22d84199a674c58bbf108b46) Subject: Remove redundant functions UNIVERSAL::{class,is_instance} Date: 14 Feb 1997 15:52:21 +0000 From: Gisle Aas <aas@bergen.sn.no> Files: pod/perldelta.pod pod/perlobj.pod t/op/universal.t universal.c Msg-ID: <hwwsbpeq2.fsf@bergen.sn.no> (applied based on p5p patch as commit 77bb9b23081b62119e8fbe9f5655b8802e4537ae) Subject: Allow C<setpgrp $$> Date: 16 Feb 1997 23:19:12 -0500 From: Roderick Schertler <roderick@gate.net> Files: pp_sys.c Msg-ID: <pzraigyshr.fsf@eeyore.ibcinc.com> (applied based on p5p patch as commit 3d2573a84a1aa655d5da58c57b3fc20e04d40f9f) Subject: Fix syntax error on C<&$1> From: Chip Salzenberg <chip@perl.com> Files: toke.c Subject: Fix grep() with refs in array context From: Chip Salzenberg <chip@perl.com> Files: pp.c CORE PORTABILITY Subject: Eliminate $^S; add C<use vmsish qw(status exit time)> Date: Mon, 17 Feb 1997 02:45:26 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: MANIFEST gv.c lib/English.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Mksymlists.pm lib/ExtUtils/xsubpp mg.c op.c perl.c perl.h pod/perldelta.pod pod/perlmod.pod pod/perlvar.pod pp_ctl.c pp_sys.c utils/perldoc.PL vms/Makefile vms/config.vms vms/descrip.mms vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs vms/ext/XSSymSet.pm vms/ext/vmsish.pm vms/vms.c vms/vmsish.h win32/makedef.pl private-msgid: <01IFI9CFKL0S004R2V@hmivax.humgen.upenn.edu> LIBRARY AND EXTENSIONS Subject: Remove Fatal.pm From: Chip Salzenberg <chip@perl.com> Files: MANIFEST lib/Fatal.pm pod/perldelta.pod pod/perlmod.pod pod/roffitall t/lib/fatal.t Subject: Refresh MakeMaker to 5.40 From: Andy Dougherty <doughera@lafcol.lafayette.edu> Files: lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm OTHER CORE CHANGES Subject: Fix core dump when embedding From: Chip Salzenberg <chip@perl.com> Files: perl.c Subject: Re: Fragile signals Date: Thu, 13 Feb 1997 01:44:39 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: mg.c Msg-ID: <199702130644.BAA07572@monk.mps.ohio-state.edu> (applied based on p5p patch as commit 09df8c7df7dfc9853902f1fdd8a6d95f53be66fc) Subject: Make format strings correspond exactly to parameters Date: 13 Feb 1997 17:24:31 -0500 From: Roderick Schertler <roderick@gate.net> Files: doio.c ext/DB_File/DB_File.xs ext/Opcode/Opcode.xs gv.c op.c perl.c pp_ctl.c pp_sys.c regcomp.c toke.c Msg-ID: <pz7mkc1h0g.fsf@eeyore.ibcinc.com> (applied based on p5p patch as commit bf81aadd817bdea29720b072eef945df2da8463b) Subject: Don't try to attach 'o' magic to read-only values From: Chip Salzenberg <chip@perl.com> Files: sv.c Subject: Fix carriage-return message From: Chip Salzenberg <chip@perl.com> Files: toke.c Subject: In <=>, test for equality first From: Chip Salzenberg <chip@perl.com> Files: pp.c Subject: Don't mark sv_{true,false} PADTMP From: Chip Salzenberg <chip@perl.com> Files: op.c
| * DB_File 1.11 patchPaul Marquess1997-02-112-6/+80
| | | | | | | | p5p-msgid: <9702061553.AA18147@claudius.bfsec.bt.co.uk>
| * Refresh DB_File to 1.10Paul Marquess1997-01-162-9/+41
| | | | | | | | | | | | | | this patch works around an incompatability that was introduced in Berkeley DB 1.86 p5p-msgid: <9701141247.AA21242@claudius.bfsec.bt.co.uk>
| * DB_File 1.09 patchPaul Marquess1996-12-192-15/+23
| | | | | | | | private-msgid: <9612181037.AA10123@claudius.bfsec.bt.co.uk>
| * [inseparable changes from patch from perl5.003_10 to perl5.003_11]Perl 5 Porters1996-12-062-40/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CORE LANGUAGE CHANGES Subject: Fix precedence problems with subs as uniops or listops From: Chip Salzenberg <chip@atlantic.net> Files: perly.c perly.c.diff perly.h perly.y Subject: Don't reset $. on open() From: Chip Salzenberg <chip@atlantic.net> Files: pp_sys.c Subject: Support *glob{IO} (eventually deprecate *glob{FILEHANDLE}) From: Chip Salzenberg <chip@atlantic.net> Files: pod/perlref.pod pp_hot.c sv.c Subject: Don't let expression context force return context From: Chip Salzenberg <chip@atlantic.net> Files: op.c Subject: Properly convert "1E2" et al to IV/UV From: Chip Salzenberg <chip@atlantic.net> Files: doio.c sv.c Subject: Fix modulo operator in UV realm From: Chip Salzenberg <chip@atlantic.net> Files: pp.c Subject: Fix stat(_) after stat(HANDLE) From: Chip Salzenberg <chip@atlantic.net> Files: pp_sys.c Subject: Fix: s/// and "$x =~ $y" under 'use locale' From: Chip Salzenberg <chip@atlantic.net> Files: op.c toke.c LIBRARY AND EXTENSIONS Subject: {in,ob}structive pods Date: Sat, 30 Nov 1996 09:52:57 -0700 From: Tom Christiansen <tchrist@mox.perl.com> Files: MANIFEST lib/Class/Template.pm lib/File/stat.pm lib/Net/hostent.pm lib/Net/netent.pm lib/Net/protoent.pm lib/Net/servent.pm lib/Time/gmtime.pm lib/Time/localtime.pm lib/Time/tm.pm lib/User/grent.pm lib/User/pwent.pm These "should" be ready for inclusion in 5.004, although I'd like to update Class::Template's doc for legibility. Dean, may we please have your permission to include this in the distribution? (I did look a bit into using Class::MethodMaker, but it seemed a bit complicated.) I know: these all look remarkably similar on the inside. I keep trying to find a way to abstract out some of it. Hopefully, they're reasonably legible at least in code, if not in docs. :-) Chip/Tim, please check the stat function for proper use of Symbol. thanks, --tom #!/bin/sh # This is a shell archive (produced by GNU sharutils 4.2). # To extract the files from this archive, save it to some FILE, remove # everything before the `!/bin/sh' line above, then type `sh FILE'. # # Made on 1996-11-30 09:52 MST by <tchrist@toy.perl.com>. # Source directory was `/home/tchrist/hack'. # # Existing files will *not* be overwritten unless `-c' is specified. # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 5024 -rw-r--r-- obstructs/Class/Template.pm # 2782 -rw-r--r-- obstructs/File/stat.pm # 3961 -rw-r--r-- obstructs/Net/hostent.pm # 4435 -rw-r--r-- obstructs/Net/netent.pm # 2973 -rw-r--r-- obstructs/Net/protoent.pm # 3424 -rw-r--r-- obstructs/Net/servent.pm # 2476 -rw-r--r-- obstructs/Time/gmtime.pm # 2307 -rw-r--r-- obstructs/Time/localtime.pm # 622 -rw-r--r-- obstructs/Time/tm.pm # 2848 -rw-r--r-- obstructs/User/grent.pm # 2899 -rw-r--r-- obstructs/User/pwent.pm # save_IFS="${IFS}" IFS="${IFS}:" gettext_dir=FAILED locale_dir=FAILED first_param="$1" for dir in $PATH do if test "$gettext_dir" = FAILED && test -f $dir/gettext \ && ($dir/gettext --version >/dev/null 2>&1) then set `$dir/gettext --version 2>&1` if test "$3" = GNU then gettext_dir=$dir fi fi if test "$locale_dir" = FAILED && test -f $dir/shar \ && ($dir/shar --print-text-domain-dir >/dev/null 2>&1) then locale_dir=`$dir/shar --print-text-domain-dir` fi done IFS="$save_IFS" if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED then echo=echo else TEXTDOMAINDIR=$locale_dir export TEXTDOMAINDIR TEXTDOMAIN=sharutils export TEXTDOMAIN echo="$gettext_dir/gettext -s" fi touch -am 1231235999 $$.touch >/dev/null 2>&1 if test ! -f 1231235999 && test -f $$.touch; then shar_touch=touch else shar_touch=: echo $echo 'WARNING: not restoring timestamps. Consider getting and' $echo "installing GNU \`touch', distributed in GNU File Utilities..." echo fi rm -f 1231235999 $$.touch # if mkdir _sh24166; then $echo 'x -' 'creating lock directory' else $echo 'failed to create lock directory' exit 1 fi # ============= obstructs/Class/Template.pm ============== if test ! -d 'obstructs'; then $echo 'x -' 'creating directory' 'obstructs' mkdir 'obstructs' fi if test ! -d 'obstructs/Class'; then $echo 'x -' 'creating directory' 'obstructs/Class' mkdir 'obstructs/Class' fi if test -f 'obstructs/Class/Template.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/Class/Template.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/Class/Template.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/Class/Template.pm' && package Class::Template; require 5.000; require Exporter; X @ISA = qw(Exporter); @EXPORT = qw(members struct); use strict; X # Template.pm --- struct/member template builder # 12mar95 # Dean Roehrich # # changes/bugs fixed since 28nov94 version: # - podified # changes/bugs fixed since 21nov94 version: # - Fixed examples. # changes/bugs fixed since 02sep94 version: # - Moved to Class::Template. # changes/bugs fixed since 20feb94 version: # - Updated to be a more proper module. # - Added "use strict". # - Bug in build_methods, was using @var when @$var needed. # - Now using my() rather than local(). # # Uses perl5 classes to create nested data types. # This is offered as one implementation of Tom Christiansen's "structs.pl" # idea. X =head1 NAME X Class::Template - struct/member template builder X =head1 EXAMPLES X =item * Example 1 X X use Class::Template; X X struct( rusage => { X ru_utime => timeval, X ru_stime => timeval, X }); X X struct( timeval => [ X tv_secs => '$', X tv_usecs => '$', X ]); X X my $s = new rusage; X =item * Example 2 X X package OBJ; X use Class::Template; X X members OBJ { X 'a' => '$', X 'b' => '$', X }; X X members OBJ2 { X 'd' => '@', X 'c' => '$', X }; X X package OBJ2; @ISA = (OBJ); X X sub new { X my $r = InitMembers( &OBJ::InitMembers() ); X bless $r; X } X =head1 NOTES X Use '%' if the member should point to an anonymous hash. Use '@' if the member should point to an anonymous array. X When using % and @ the method requires one argument for the key or index into the hash or array. X Prefix the %, @, or $ with '*' to indicate you want to retrieve pointers to the values rather than the values themselves. X =cut X Var: { X $Class::Template::print = 0; X sub printem { $Class::Template::print++ } } X X sub struct { X my( $struct, $ref ) = @_; X my @methods = (); X my %refs = (); X my %arrays = (); X my %hashes = (); X my $out = ''; X X $out = "{\n package $struct;\n sub new {\n"; X parse_fields( $ref, \$out, \@methods, \%refs, \%arrays, \%hashes, 0 ); X $out .= " bless \$r;\n }\n"; X build_methods( $ref, \$out, \@methods, \%refs, \%arrays, \%hashes ); X $out .= "}\n1;\n"; X X ( $Class::Template::print ) ? print( $out ) : eval $out; } X sub members { X my( $pkg, $ref ) = @_; X my @methods = (); X my %refs = (); X my %arrays = (); X my %hashes = (); X my $out = ''; X X $out = "{\n package $pkg;\n sub InitMembers {\n"; X parse_fields( $ref, \$out, \@methods, \%refs, \%arrays, \%hashes, 1 ); X $out .= " bless \$r;\n }\n"; X build_methods( $ref, \$out, \@methods, \%refs, \%arrays, \%hashes ); X $out .= "}\n1;\n"; X X ( $Class::Template::print ) ? print( $out ) : eval $out; } X X sub parse_fields { X my( $ref, $out, $methods, $refs, $arrays, $hashes, $member ) = @_; X my $type = ref $ref; X my @keys; X my $val; X my $cnt = 0; X my $idx = 0; X my( $cmt, $n ); X X if( $type eq 'HASH' ){ X if( $member ){ X $$out .= " my(\$r) = \@_ ? shift : {};\n"; X } X else{ X $$out .= " my(\$r) = {};\n"; X } X @keys = keys %$ref; X foreach (@keys){ X $val = $ref->{$_}; X if( $val =~ /^\*(.)/ ){ X $refs->{$_}++; X $val = $1; X } X if( $val eq '@' ){ X $$out .= " \$r->{'$_'} = [];\n"; X $arrays->{$_}++; X } X elsif( $val eq '%' ){ X $$out .= " \$r->{'$_'} = {};\n"; X $hashes->{$_}++; X } X elsif( $val ne '$' ){ X $$out .= " \$r->{'$_'} = \&${val}::new();\n"; X } X else{ X $$out .= " \$r->{'$_'} = undef;\n"; X } X push( @$methods, $_ ); X } X } X elsif( $type eq 'ARRAY' ){ X if( $member ){ X $$out .= " my(\$r) = \@_ ? shift : [];\n"; X } X else{ X $$out .= " my(\$r) = [];\n"; X } X while( $idx < @$ref ){ X $n = $ref->[$idx]; X push( @$methods, $n ); X $val = $ref->[$idx+1]; X $cmt = "# $n"; X if( $val =~ /^\*(.)/ ){ X $refs->{$n}++; X $val = $1; X } X if( $val eq '@' ){ X $$out .= " \$r->[$cnt] = []; $cmt\n"; X $arrays->{$n}++; X } X elsif( $val eq '%' ){ X $$out .= " \$r->[$cnt] = {}; $cmt\n"; X $hashes->{$n}++; X } X elsif( $val ne '$' ){ X $$out .= " \$r->[$cnt] = \&${val}::new();\n"; X } X else{ X $$out .= " \$r->[$cnt] = undef; $cmt\n"; X } X ++$cnt; X $idx += 2; X } X } } X X sub build_methods { X my( $ref, $out, $methods, $refs, $arrays, $hashes ) = @_; X my $type = ref $ref; X my $elem = ''; X my $cnt = 0; X my( $pre, $pst, $cmt, $idx ); X X foreach (@$methods){ X $pre = $pst = $cmt = $idx = ''; X if( defined $refs->{$_} ){ X $pre = "\\("; X $pst = ")"; X $cmt = " # returns ref"; X } X $$out .= " sub $_ {$cmt\n my \$r = shift;\n"; X if( $type eq 'ARRAY' ){ X $elem = "[$cnt]"; X ++$cnt; X } X elsif( $type eq 'HASH' ){ X $elem = "{'$_'}"; X } X if( defined $arrays->{$_} ){ X $$out .= " my \$i;\n"; X $$out .= " \@_ ? (\$i = shift) : return \$r->$elem;\n"; X $idx = "->[\$i]"; X } X elsif( defined $hashes->{$_} ){ X $$out .= " my \$i;\n"; X $$out .= " \@_ ? (\$i = shift) : return \$r->$elem;\n"; X $idx = "->{\$i}"; X } X $$out .= " \@_ ? (\$r->$elem$idx = shift) : $pre\$r->$elem$idx$pst;\n"; X $$out .= " }\n"; X } } X 1; SHAR_EOF $shar_touch -am 1108060296 'obstructs/Class/Template.pm' && chmod 0644 'obstructs/Class/Template.pm' || $echo 'restore of' 'obstructs/Class/Template.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/Class/Template.pm:' 'MD5 check failed' 4ccfb1ef6cb0ef795d19325556a78797 obstructs/Class/Template.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/Class/Template.pm'`" test 5024 -eq "$shar_count" || $echo 'obstructs/Class/Template.pm:' 'original size' '5024,' 'current size' "$shar_count!" fi fi # ============= obstructs/File/stat.pm ============== if test ! -d 'obstructs/File'; then $echo 'x -' 'creating directory' 'obstructs/File' mkdir 'obstructs/File' fi if test -f 'obstructs/File/stat.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/File/stat.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/File/stat.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/File/stat.pm' && package File::stat; use strict; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter); X @EXPORT = qw(stat lstat); X @EXPORT_OK = qw( $st_dev $st_ino $st_mode X $st_nlink $st_uid $st_gid X $st_rdev $st_size X $st_atime $st_mtime $st_ctime X $st_blksize $st_blocks X ); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X use Class::Template qw(struct); struct 'File::stat' => [ X map { $_ => '$' } qw{ X dev ino mode nlink uid gid rdev size X atime mtime ctime blksize blocks X } ]; X sub populate (@) { X return unless @_; X my $stob = new(); X @$stob = ( X $st_dev, $st_ino, $st_mode, $st_nlink, $st_uid, $st_gid, $st_rdev, X $st_size, $st_atime, $st_mtime, $st_ctime, $st_blksize, $st_blocks ) X = @_; X return $stob; } X sub lstat (*) { populate(CORE::lstat(shift)) } X sub stat ($) { X my $arg = shift; X my $st = populate(CORE::stat $arg); X return $st if $st; X no strict 'refs'; X require Symbol; X return populate(CORE::stat \*{Symbol::qualify($arg)}); } X 1; __END__ X =head1 NAME X File::stat.pm - by-name interface to Perl's built-in stat() functions X =head1 SYNOPSIS X X use File::stat; X $st = stat($file) or die "No $file: $!"; X if ( ($st->mode & 0111) && $st->nlink > 1) ) { X print "$file is executable with lotsa links\n"; X } X X use File::stat qw(:FIELDS); X stat($file) or die "No $file: $!"; X if ( ($st_mode & 0111) && $st_nlink > 1) ) { X print "$file is executable with lotsa links\n"; X } X =head1 DESCRIPTION X This module's default exports override the core stat() and lstat() functions, replacing them with versions that return "File::stat" objects. This object has methods that return the similarly named structure field name from the stat(2) function; namely, dev, ino, mode, nlink, uid, gid, rdev, size, atime, mtime, ctime, blksize, and blocks. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your stat() and lstat() functions.) Access these fields as variables named with a preceding C<st_> in front their method names. Thus, C<$stat_obj-E<gt>dev()> corresponds to $st_dev if you import the fields. X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1129130296 'obstructs/File/stat.pm' && chmod 0644 'obstructs/File/stat.pm' || $echo 'restore of' 'obstructs/File/stat.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/File/stat.pm:' 'MD5 check failed' 4d121fbb2e918b7f35c2b6fa2df6ffed obstructs/File/stat.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/File/stat.pm'`" test 2782 -eq "$shar_count" || $echo 'obstructs/File/stat.pm:' 'original size' '2782,' 'current size' "$shar_count!" fi fi # ============= obstructs/Net/hostent.pm ============== if test ! -d 'obstructs/Net'; then $echo 'x -' 'creating directory' 'obstructs/Net' mkdir 'obstructs/Net' fi if test -f 'obstructs/Net/hostent.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/Net/hostent.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/Net/hostent.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/Net/hostent.pm' && package Net::hostent; use strict; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter); X @EXPORT = qw(gethostbyname gethostbyaddr gethost); X @EXPORT_OK = qw( X $h_name @h_aliases X $h_addrtype $h_length X @h_addr_list $h_addr X ); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X use Class::Template qw(struct); struct 'Net::hostent' => [ X name => '$', X aliases => '@', X addrtype => '$', X 'length' => '$', X addr_list => '@', ]; X sub addr { shift->addr_list->[0] } X sub populate (@) { X return unless @_; X my $hob = new(); X $h_name = $hob->[0] = $_[0]; X @h_aliases = @{ $hob->[1] } = split ' ', $_[1]; X $h_addrtype = $hob->[2] = $_[2]; X $h_length = $hob->[3] = $_[3]; X $h_addr = $_[4]; X @h_addr_list = @{ $hob->[4] } = @_[ (4 .. $#_) ]; X return $hob; } X sub gethostbyname ($) { populate(CORE::gethostbyname(shift)) } X sub gethostbyaddr ($;$) { X my ($addr, $addrtype); X $addr = shift; X require Socket unless @_; X $addrtype = @_ ? shift : Socket::AF_INET(); X populate(CORE::gethostbyaddr($addr, $addrtype)) } X sub gethost($) { X if ($_[0] =~ /^\d+(?:\.\d+(?:\.\d+(?:\.\d+)?)?)?$/) { X require Socket; X &gethostbyaddr(Socket::inet_aton(shift)); X } else { X &gethostbyname; X } } X 1; __END__ X =head1 NAME X Net::hostent - by-name interface to Perl's built-in gethost*() functions X =head1 SYNOPSIS X X use Net::hostnet; X =head1 DESCRIPTION X This module's default exports override the core gethostbyname() and gethostbyaddr() functions, replacing them with versions that return "Net::hostent" objects. This object has methods that return the similarly named structure field name from the C's hostent structure from F<netdb.h>; namely name, aliases, addrtype, length, and addresses. The aliases and addresses methods return array reference, the rest scalars. The addr method is equivalent to the zeroth element in the addresses array reference. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding C<h_>. Thus, C<$host_obj-E<gt>name()> corresponds to $h_name if you import the fields. Array references are available as regular array variables, so for example C<@{ $host_obj-E<gt>aliases() }> would be simply @h_aliases. X The gethost() funtion is a simple front-end that forwards a numeric argument to gethostbyaddr() by way of Socket::inet_aton, and the rest to gethostbyname(). X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 EXAMPLES X X use Net::hostent; X use Socket; X X @ARGV = ('netscape.com') unless @ARGV; X X for $host ( @ARGV ) { X X unless ($h = gethost($host)) { X warn "$0: no such host: $host\n"; X next; X } X X printf "\n%s is %s%s\n", X $host, X lc($h->name) eq lc($host) ? "" : "*really* ", X $h->name; X X print "\taliases are ", join(", ", @{$h->aliases}), "\n" X if @{$h->aliases}; X X if ( @{$h->addr_list} > 1 ) { X my $i; X for $addr ( @{$h->addr_list} ) { X printf "\taddr #%d is [%s]\n", $i++, inet_ntoa($addr); X } X } else { X printf "\taddress is [%s]\n", inet_ntoa($h->addr); X } X X if ($h = gethostbyaddr($h->addr)) { X if (lc($h->name) ne lc($host)) { X printf "\tThat addr reverses to host %s!\n", $h->name; X $host = $h->name; X redo; X } X } X } X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1129133896 'obstructs/Net/hostent.pm' && chmod 0644 'obstructs/Net/hostent.pm' || $echo 'restore of' 'obstructs/Net/hostent.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/Net/hostent.pm:' 'MD5 check failed' 27e11c684fe0e621da0109fa7ecef0d9 obstructs/Net/hostent.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/Net/hostent.pm'`" test 3961 -eq "$shar_count" || $echo 'obstructs/Net/hostent.pm:' 'original size' '3961,' 'current size' "$shar_count!" fi fi # ============= obstructs/Net/netent.pm ============== if test -f 'obstructs/Net/netent.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/Net/netent.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/Net/netent.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/Net/netent.pm' && package Net::netent; use strict; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter); X @EXPORT = qw(getnetbyname getnetbyaddr getnet); X @EXPORT_OK = qw( X $n_name @n_aliases X $n_addrtype $n_net X ); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X use Class::Template qw(struct); struct 'Net::netent' => [ X name => '$', X aliases => '@', X addrtype => '$', X net => '$', ]; X sub populate (@) { X return unless @_; X my $nob = new(); X $n_name = $nob->[0] = $_[0]; X @n_aliases = @{ $nob->[1] } = split ' ', $_[1]; X $n_addrtype = $nob->[2] = $_[2]; X $n_net = $nob->[3] = $_[3]; X return $nob; } X sub getnetbyname ($) { populate(CORE::getnetbyname(shift)) } X sub getnetbyaddr ($;$) { X my ($net, $addrtype); X $net = shift; X require Socket if @_; X $addrtype = @_ ? shift : Socket::AF_INET(); X populate(CORE::getnetbyaddr($net, $addrtype)) } X sub getnet($) { X if ($_[0] =~ /^\d+(?:\.\d+(?:\.\d+(?:\.\d+)?)?)?$/) { X require Socket; X &getnetbyaddr(Socket::inet_aton(shift)); X } else { X &getnetbyname; X } } X 1; __END__ X =head1 NAME X Net::netent - by-name interface to Perl's built-in getnet*() functions X =head1 SYNOPSIS X X use Net::netent qw(:FIELDS); X getnetbyname("loopback") or die "bad net"; X printf "%s is %08X\n", $n_name, $n_net; X X use Net::netent; X X $n = getnetbyname("loopback") or die "bad net"; X { # there's gotta be a better way, eh? X @bytes = unpack("C4", pack("N", $n->net)); X shift @bytes while @bytes && $bytes[0] == 0; X } X printf "%s is %08X [%d.%d.%d.%d]\n", $n->name, $n->net, @bytes; X =head1 DESCRIPTION X This module's default exports override the core getnetbyname() and getnetbyaddr() functions, replacing them with versions that return "Net::netent" objects. This object has methods that return the similarly named structure field name from the C's netent structure from F<netdb.h>; namely name, aliases, addrtype, and net. The aliases method returns an array reference, the rest scalars. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding C<n_>. Thus, C<$net_obj-E<gt>name()> corresponds to $n_name if you import the fields. Array references are available as regular array variables, so for example C<@{ $net_obj-E<gt>aliases() }> would be simply @n_aliases. X The getnet() funtion is a simple front-end that forwards a numeric argument to getnetbyaddr(), and the rest to getnetbyname(). X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 EXAMPLES X The getnet() functions do this in the Perl core: X X sv_setiv(sv, (I32)nent->n_net); X The gethost() functions do this in the Perl core: X X sv_setpvn(sv, hent->h_addr, len); X That means that the address comes back in binary for the host functions, and as a regular perl integer for the net ones. This seems a bug, but here's how to deal with it: X X use strict; X use Socket; X use Net::netent; X X @ARGV = ('loopback') unless @ARGV; X X my($n, $net); X X for $net ( @ARGV ) { X X unless ($n = getnetbyname($net)) { X warn "$0: no such net: $net\n"; X next; X } X X printf "\n%s is %s%s\n", X $net, X lc($n->name) eq lc($net) ? "" : "*really* ", X $n->name; X X print "\taliases are ", join(", ", @{$n->aliases}), "\n" X if @{$n->aliases}; X X # this is stupid; first, why is this not in binary? X # second, why am i going through these convolutions X # to make it looks right X { X my @a = unpack("C4", pack("N", $n->net)); X shift @a while @a && $a[0] == 0; X printf "\taddr is %s [%d.%d.%d.%d]\n", $n->net, @a; X } X X if ($n = getnetbyaddr($n->net)) { X if (lc($n->name) ne lc($net)) { X printf "\tThat addr reverses to net %s!\n", $n->name; X $net = $n->name; X redo; X } X } X } X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1130091396 'obstructs/Net/netent.pm' && chmod 0644 'obstructs/Net/netent.pm' || $echo 'restore of' 'obstructs/Net/netent.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/Net/netent.pm:' 'MD5 check failed' e75ca81b142c8df118f1cdddc285f71a obstructs/Net/netent.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/Net/netent.pm'`" test 4435 -eq "$shar_count" || $echo 'obstructs/Net/netent.pm:' 'original size' '4435,' 'current size' "$shar_count!" fi fi # ============= obstructs/Net/protoent.pm ============== if test -f 'obstructs/Net/protoent.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/Net/protoent.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/Net/protoent.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/Net/protoent.pm' && package Net::protoent; use strict; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter); X @EXPORT = qw(getprotobyname getprotobynumber getprotoent); X @EXPORT_OK = qw( $p_name @p_aliases $p_proto ); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X use Class::Template qw(struct); struct 'Net::protoent' => [ X name => '$', X aliases => '@', X proto => '$', ]; X sub populate (@) { X return unless @_; X my $pob = new(); X $p_name = $pob->[0] = $_[0]; X @p_aliases = @{ $pob->[1] } = split ' ', $_[1]; X $p_proto = $pob->[2] = $_[2]; X return $pob; } X sub getprotoent ( ) { populate(CORE::getprotoent()) } sub getprotobyname ($) { populate(CORE::getprotobyname(shift)) } sub getprotobynumber ($) { populate(CORE::getprotobynumber(shift)) } X sub getproto ($;$) { X no strict 'refs'; X return &{'getprotoby' . ($_[0]=~/^\d+$/ ? 'number' : 'name')}(@_); } X 1; X __END__ X =head1 NAME X Net::protoent - by-name interface to Perl's built-in getproto*() functions X =head1 SYNOPSIS X X use Net::protoent; X $p = getprotobyname(shift || 'tcp') || die "no proto"; X printf "proto for %s is %d, aliases are %s\n", X $p->name, $p->proto, "@{$p->aliases}"; X X use Net::protoent qw(:FIELDS); X getprotobyname(shift || 'tcp') || die "no proto"; X print "proto for $p_name is $p_proto, aliases are @p_aliases\n"; X =head1 DESCRIPTION X This module's default exports override the core getprotoent(), getprotobyname(), and getnetbyport() functions, replacing them with versions that return "Net::protoent" objects. They take default second arguments of "tcp". This object has methods that return the similarly named structure field name from the C's protoent structure from F<netdb.h>; namely name, aliases, and proto. The aliases method returns an array reference, the rest scalars. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding C<p_>. Thus, C<$proto_obj-E<gt>name()> corresponds to $p_name if you import the fields. Array references are available as regular array variables, so for example C<@{ $proto_obj-E<gt>aliases() }> would be simply @p_aliases. X The getproto() function is a simple front-end that forwards a numeric argument to getprotobyport(), and the rest to getprotobyname(). X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1130095196 'obstructs/Net/protoent.pm' && chmod 0644 'obstructs/Net/protoent.pm' || $echo 'restore of' 'obstructs/Net/protoent.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/Net/protoent.pm:' 'MD5 check failed' c8e24414a4b93b93dab2b257e15bdd38 obstructs/Net/protoent.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/Net/protoent.pm'`" test 2973 -eq "$shar_count" || $echo 'obstructs/Net/protoent.pm:' 'original size' '2973,' 'current size' "$shar_count!" fi fi # ============= obstructs/Net/servent.pm ============== if test -f 'obstructs/Net/servent.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/Net/servent.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/Net/servent.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/Net/servent.pm' && package Net::servent; use strict; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter); X @EXPORT = qw(getservbyname getservbyport getservent getserv); X @EXPORT_OK = qw( $s_name @s_aliases $s_port $s_proto ); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X use Class::Template qw(struct); struct 'Net::servent' => [ X name => '$', X aliases => '@', X port => '$', X proto => '$', ]; X sub populate (@) { X return unless @_; X my $sob = new(); X $s_name = $sob->[0] = $_[0]; X @s_aliases = @{ $sob->[1] } = split ' ', $_[1]; X $s_port = $sob->[2] = $_[2]; X $s_proto = $sob->[3] = $_[3]; X return $sob; } X sub getservent ( ) { populate(CORE::getservent()) } sub getservbyname ($;$) { populate(CORE::getservbyname(shift,shift||'tcp')) } sub getservbyport ($;$) { populate(CORE::getservbyport(shift,shift||'tcp')) } X sub getserv ($;$) { X no strict 'refs'; X return &{'getservby' . ($_[0]=~/^\d+$/ ? 'port' : 'name')}(@_); } X 1; X __END__ X =head1 NAME X Net::servent - by-name interface to Perl's built-in getserv*() functions X =head1 SYNOPSIS X X use Net::servent; X $s = getservbyname(shift || 'ftp') || die "no service"; X printf "port for %s is %s, aliases are %s\n", X $s->name, $s->port, "@{$s->aliases}"; X X use Net::servent qw(:FIELDS); X getservbyname(shift || 'ftp') || die "no service"; X print "port for $s_name is $s_port, aliases are @s_aliases\n"; X =head1 DESCRIPTION X This module's default exports override the core getservent(), getservbyname(), and getnetbyport() functions, replacing them with versions that return "Net::servent" objects. They take default second arguments of "tcp". This object has methods that return the similarly named structure field name from the C's servent structure from F<netdb.h>; namely name, aliases, port, and proto. The aliases method returns an array reference, the rest scalars. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding C<n_>. Thus, C<$serv_obj-E<gt>name()> corresponds to $s_name if you import the fields. Array references are available as regular array variables, so for example C<@{ $serv_obj-E<gt>aliases() }> would be simply @s_aliases. X The getserv() function is a simple front-end that forwards a numeric argument to getservbyport(), and the rest to getservbyname(). X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 EXAMPLES X X use Net::servent qw(:FIELDS); X X while (@ARGV) { X my ($service, $proto) = ((split m!/!, shift), 'tcp'); X my $valet = getserv($service, $proto); X unless ($valet) { X warn "$0: No service: $service/$proto\n" X next; X } X printf "service $service/$proto is port %d\n", $valet->port; X print "alias are @s_aliases\n" if @s_aliases; X } X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1130094396 'obstructs/Net/servent.pm' && chmod 0644 'obstructs/Net/servent.pm' || $echo 'restore of' 'obstructs/Net/servent.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/Net/servent.pm:' 'MD5 check failed' b09a8a3151b490a083236f84aae0e689 obstructs/Net/servent.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/Net/servent.pm'`" test 3424 -eq "$shar_count" || $echo 'obstructs/Net/servent.pm:' 'original size' '3424,' 'current size' "$shar_count!" fi fi # ============= obstructs/Time/gmtime.pm ============== if test ! -d 'obstructs/Time'; then $echo 'x -' 'creating directory' 'obstructs/Time' mkdir 'obstructs/Time' fi if test -f 'obstructs/Time/gmtime.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/Time/gmtime.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/Time/gmtime.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/Time/gmtime.pm' && package Time::gmtime; use strict; use Time::tm; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter Time::tm); X @EXPORT = qw(gmtime gmctime); X @EXPORT_OK = qw( X $tm_sec $tm_min $tm_hour $tm_mday X $tm_mon $tm_year $tm_wday $tm_yday X $tm_isdst X ); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X sub populate (@) { X return unless @_; X my $tmob = Time::tm->new(); X @$tmob = ( X $tm_sec, $tm_min, $tm_hour, $tm_mday, X $tm_mon, $tm_year, $tm_wday, $tm_yday, X $tm_isdst ) X = @_; X return $tmob; } X sub gmtime (;$) { populate CORE::gmtime(shift||time)} sub gmctime (;$) { scalar CORE::gmtime(shift||time)} X 1; __END__ X =head1 NAME X Time::gmtime.pm - by-name interface to Perl's built-in gmtime() function X =head1 SYNOPSIS X X use Time::gmtime; X $gm = gmtime(); X printf "The day in Greenwich is %s\n", X (qw(Sun Mon Tue Wed Thu Fri Sat Sun))[ gm->wday() ]; X X use Time::gmtime w(:FIELDS; X printf "The day in Greenwich is %s\n", X (qw(Sun Mon Tue Wed Thu Fri Sat Sun))[ gm_wday() ]; X X $now = gmctime(); X X use Time::gmtime; X use File::stat; X $date_string = gmctime(stat($file)->mtime); X =head1 DESCRIPTION X This module's default exports override the core gmtime() function, replacing it with a version that returns "Time::tm" objects. This object has methods that return the similarly named structure field name from the C's tm structure from F<time.h>; namely sec, min, hour, mday, mon, year, wday, yday, and isdst. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding C<tm_> in front their method names. Thus, C<$tm_obj-E<gt>mday()> corresponds to $tm_mday if you import the fields. X The gmctime() funtion provides a way of getting at the scalar sense of the original CORE::gmtime() function. X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1129132196 'obstructs/Time/gmtime.pm' && chmod 0644 'obstructs/Time/gmtime.pm' || $echo 'restore of' 'obstructs/Time/gmtime.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/Time/gmtime.pm:' 'MD5 check failed' 8617e4442d682c2bc444e12b612f98e2 obstructs/Time/gmtime.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/Time/gmtime.pm'`" test 2476 -eq "$shar_count" || $echo 'obstructs/Time/gmtime.pm:' 'original size' '2476,' 'current size' "$shar_count!" fi fi # ============= obstructs/Time/localtime.pm ============== if test -f 'obstructs/Time/localtime.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/Time/localtime.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/Time/localtime.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/Time/localtime.pm' && package Time::localtime; use strict; use Time::tm; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter Time::tm); X @EXPORT = qw(localtime ctime); X @EXPORT_OK = qw( X $tm_sec $tm_min $tm_hour $tm_mday X $tm_mon $tm_year $tm_wday $tm_yday X $tm_isdst X ); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X sub populate (@) { X return unless @_; X my $tmob = Time::tm->new(); X @$tmob = ( X $tm_sec, $tm_min, $tm_hour, $tm_mday, X $tm_mon, $tm_year, $tm_wday, $tm_yday, X $tm_isdst ) X = @_; X return $tmob; } X sub localtime (;$) { populate CORE::localtime(shift||time)} sub ctime (;$) { scalar CORE::localtime(shift||time) } X 1; X __END__ X =head1 NAME X Time::localtime.pm - by-name interface to Perl's built-in localtime() function X =head1 SYNOPSIS X X use Time::localtime; X printf "Year is %d\n", localtime->year() + 1900; X X $now = ctime(); X X use Time::localtime; X use File::stat; X $date_string = ctime(stat($file)->mtime); X =head1 DESCRIPTION X This module's default exports override the core localtime() function, replacing it with a version that returns "Time::tm" objects. This object has methods that return the similarly named structure field name from the C's tm structure from F<time.h>; namely sec, min, hour, mday, mon, year, wday, yday, and isdst. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding C<tm_> in front their method names. Thus, C<$tm_obj-E<gt>mday()> corresponds to $tm_mday if you import the fields. X The ctime() funtion provides a way of getting at the scalar sense of the original CORE::localtime() function. X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1129132196 'obstructs/Time/localtime.pm' && chmod 0644 'obstructs/Time/localtime.pm' || $echo 'restore of' 'obstructs/Time/localtime.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/Time/localtime.pm:' 'MD5 check failed' 4f44256053f0573143e7f1b78e3db9b1 obstructs/Time/localtime.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/Time/localtime.pm'`" test 2307 -eq "$shar_count" || $echo 'obstructs/Time/localtime.pm:' 'original size' '2307,' 'current size' "$shar_count!" fi fi # ============= obstructs/Time/tm.pm ============== if test -f 'obstructs/Time/tm.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/Time/tm.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/Time/tm.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/Time/tm.pm' && package Time::tm; use strict; X use Class::Template qw(struct); struct('Time::tm' => [ X map { $_ => '$' } qw{ sec min hour mday mon year wday yday isdst } ]); X 1; __END__ X =head1 NAME X Time::tm.pm - internal object used by Time::gmtime and Time::localtime X =head1 DESCRIPTION X This module is used internally as a base class by Time::localtime And Time::gmtime functions. It creates a Time::tm struct object which is addressable just like's C's tm structure from F<time.h>; namely with sec, min, hour, mday, mon, year, wday, yday, and isdst. X This class is an internal interface only. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1129132696 'obstructs/Time/tm.pm' && chmod 0644 'obstructs/Time/tm.pm' || $echo 'restore of' 'obstructs/Time/tm.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/Time/tm.pm:' 'MD5 check failed' 02859f003106bb6eb92cc91bb9b37666 obstructs/Time/tm.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/Time/tm.pm'`" test 622 -eq "$shar_count" || $echo 'obstructs/Time/tm.pm:' 'original size' '622,' 'current size' "$shar_count!" fi fi # ============= obstructs/User/grent.pm ============== if test ! -d 'obstructs/User'; then $echo 'x -' 'creating directory' 'obstructs/User' mkdir 'obstructs/User' fi if test -f 'obstructs/User/grent.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/User/grent.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/User/grent.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/User/grent.pm' && package User::grent; use strict; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter); X @EXPORT = qw(getgrent getgrgid getgrnam getgr); X @EXPORT_OK = qw($gr_name $gr_gid $gr_passwd $gr_mem @gr_members); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X use Class::Template qw(struct); struct 'User::grent' => [ X name => '$', X passwd => '$', X gid => '$', X members => '@', ]; X sub populate (@) { X return unless @_; X my $gob = new(); X ($gr_name, $gr_passwd, $gr_gid) = @$gob[0,1,2] = @_[0,1,2]; X @gr_members = @{$gob->[3]} = split ' ', $_[3]; X return $gob; } X sub getgrent ( ) { populate(CORE::getgrent()) } sub getgrnam ($) { populate(CORE::getgrnam(shift)) } sub getgrgid ($) { populate(CORE::getgrgid(shift)) } sub getgr ($) { ($_[0] =~ /^\d+/) ? &getgrgid : &getgrnam } X 1; __END__ X =head1 NAME X User::grent.pm - by-name interface to Perl's built-in getgr*() functions X =head1 SYNOPSIS X X use User::grent; X $gr = getgrgid(0) or die "No group zero"; X if ( $gr->name eq 'wheel' && @{$gr->members} > 1 ) { X print "gid zero name wheel, with other members"; X } X X use User::grent qw(:FIELDS; X getgrgid(0) or die "No group zero"; X if ( $gr_name eq 'wheel' && @gr_members > 1 ) { X print "gid zero name wheel, with other members"; X } X X $gr = getgr($whoever); X =head1 DESCRIPTION X This module's default exports override the core getgrent(), getgruid(), and getgrnam() functions, replacing them with versions that return "User::grent" objects. This object has methods that return the similarly named structure field name from the C's passwd structure from F<grp.h>; namely name, passwd, gid, and members (not mem). The first three return scalars, the last an array reference. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding C<gr_>. Thus, C<$group_obj-E<gt>gid()> corresponds to $gr_gid if you import the fields. Array references are available as regular array variables, so C<@{ $group_obj-E<gt>members() }> would be simply @gr_members. X The getpw() funtion is a simple front-end that forwards a numeric argument to getpwuid() and the rest to getpwnam(). X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1130094696 'obstructs/User/grent.pm' && chmod 0644 'obstructs/User/grent.pm' || $echo 'restore of' 'obstructs/User/grent.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/User/grent.pm:' 'MD5 check failed' 9fbf4010f722f9bc493657ec56f8ce5d obstructs/User/grent.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/User/grent.pm'`" test 2848 -eq "$shar_count" || $echo 'obstructs/User/grent.pm:' 'original size' '2848,' 'current size' "$shar_count!" fi fi # ============= obstructs/User/pwent.pm ============== if test -f 'obstructs/User/pwent.pm' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'obstructs/User/pwent.pm' '(file already exists)' else $echo 'x -' extracting 'obstructs/User/pwent.pm' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'obstructs/User/pwent.pm' && package User::pwent; use strict; X BEGIN { X use Exporter (); X use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); X @ISA = qw(Exporter); X @EXPORT = qw(getpwent getpwuid getpwnam getpw); X @EXPORT_OK = qw( X $pw_name $pw_passwd $pw_uid X $pw_gid $pw_quota $pw_comment X $pw_gecos $pw_dir $pw_shell X ); X %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] ); } use vars @EXPORT_OK; X use Class::Template qw(struct); struct 'User::pwent' => [ X name => '$', X passwd => '$', X uid => '$', X gid => '$', X quota => '$', X comment => '$', X gcos => '$', X dir => '$', X shell => '$', ]; X sub populate (@) { X return unless @_; X my $pwob = new(); X X ( $pw_name, $pw_passwd, $pw_uid, X $pw_gid, $pw_quota, $pw_comment, X $pw_gecos, $pw_dir, $pw_shell, ) = @$pwob = @_; X X return $pwob; } X sub getpwent ( ) { populate(CORE::getpwent()) } sub getpwnam ($) { populate(CORE::getpwnam(shift)) } sub getpwgid ($) { populate(CORE::getpwgid(shift)) } sub getpw ($) { ($_[0] =~ /^\d+/) ? &getpwgid : &getpwnam } X 1; __END__ X =head1 NAME X User::pwent.pm - by-name interface to Perl's built-in getpw*() functions X =head1 SYNOPSIS X X use User::pwent; X $pw = getpwnam('daemon') or die "No daemon user"; X if ( $pw->uid == 1 && $pw->dir =~ m#^/(bin|tmp)?$# ) { X print "gid 1 on root dir"; X } X X use User::pwent qw(:FIELDS); X getpwnam('daemon') or die "No daemon user"; X if ( $pw_uid == 1 && $pw_dir =~ m#^/(bin|tmp)?$# ) { X print "gid 1 on root dir"; X } X X $pw = getpw($whoever); X =head1 DESCRIPTION X This module's default exports override the core getpwent(), getpwuid(), and getpwnam() functions, replacing them with versions that return "User::pwent" objects. This object has methods that return the similarly named structure field name from the C's passwd structure from F<pwd.h>; namely name, passwd, uid, gid, quota, comment, gecos, dir, and shell. X You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding C<pw_> in front their method names. Thus, C<$passwd_obj-E<gt>shell()> corresponds to $pw_shell if you import the fields. X The getpw() funtion is a simple front-end that forwards a numeric argument to getpwuid() and the rest to getpwnam(). X To access this functionality without the core overrides, pass the C<use> an empty import list, and then access function functions with their full qualified names. On the other hand, the built-ins are still available via the C<CORE::> pseudo-package. X =head1 NOTE X While this class is currently implemented using the Class::Template module to build a struct-like class, you shouldn't rely upon this. X =head1 AUTHOR X Tom Christiansen SHAR_EOF $shar_touch -am 1130094696 'obstructs/User/pwent.pm' && chmod 0644 'obstructs/User/pwent.pm' || $echo 'restore of' 'obstructs/User/pwent.pm' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'obstructs/User/pwent.pm:' 'MD5 check failed' 905033d579b32729f95a760e013dbde4 obstructs/User/pwent.pm SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'obstructs/User/pwent.pm'`" test 2899 -eq "$shar_count" || $echo 'obstructs/User/pwent.pm:' 'original size' '2899,' 'current size' "$shar_count!" fi fi rm -fr _sh24166 exit 0 p5p-msgid: <199611301652.JAA24201@toy.perl.com> Subject: FileHandle that 'ISA' IO::File Date: Mon, 2 Dec 1996 17:18:02 GMT From: Nick Ing-Simmons <nik@tiuk.ti.com> Files: MANIFEST lib/FileHandle.pm Subject: FileHandle that 'is' and IO::File Andreas Koenig <k@anna.in-berlin.de> writes: >>>>>> Nick Ing-Simmons <nik@tiuk.ti.com> writes: > > > The patch will serve till we can get derived version working. > >I'm putting much hope in the your patch, Nick, because I have another >problem pending. No test case yet, because I'm waiting for your >FileHandle.pm. > >I'll let you know more details as soon as I have a structured view of >the problem. Your patch will (hopefully) help me to get there, > >andreas Please try attached. Drop into lib/FileHandle.pm p5p-msgid: <199612021718.RAA04416@pluto> Subject: 10+ debugger patch Date: Sun, 1 Dec 1996 06:37:31 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: lib/perl5db.pl perl.c pod/perldebug.pod Bugs corrected: perl.c a) Could have deadlocked debugging its own signal handler; lib/perl5db.pl pod/perldebug.pod b) Documentation (internal and POD) updated; c) NonStop now will not stop at end; d) variable names more meaningful now; e) Will not trace last line of itself now; f) Dumping of looong lines in a program (see Config.pm) interruptable; g) $@ not wiped by evalled expressions; While updating the docs I was forced to change some API (to make it documentable), which resulted in following improvements: frame & 4 recognized: more verbose output; frame changes style of TRACE; Non-interruptable lines have no `:' in the listing; frame outputs `require'd packages as well. added Options AutoTrace inhibit_exit Though this may look a lot, all the changes are not in the main flow of execution (in frills which are usually disabled), so I think they may be added even this late in the cycle. Documentation would be quite messy without these changes. As well as I know, the documentation is complete now, so one can _really_ write a new debugger from scratch. Enjoy, p5p-msgid: <199612011137.GAA10864@monk.mps.ohio-state.edu> Subject: DB_File 1.07 From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs t/lib/db-btree.t t/lib/db-recno.t Subject: DB_File 1.08 From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs OTHER CORE CHANGES Subject: Eliminate spurious warning when splicing undefs From: Chip Salzenberg <chip@atlantic.net> Files: pp.c sv.h Subject: Eliminate spurious warning from "x=" operator From: Chip Salzenberg <chip@atlantic.net> Files: op.c Subject: Fix line numbers near control structures From: Chip Salzenberg <chip@atlantic.net> Files: op.c perly.c perly.c.diff perly.y proto.h Subject: Don't let scalar unpack() underflow stack From: Chip Salzenberg <chip@atlantic.net> Files: pp.c Subject: Fix core dump from precedence bug in "@foo" warning From: Chip Salzenberg <chip@atlantic.net> Files: toke.c Subject: Move die() to utils.c; add varargs hack to croak() From: Chip Salzenberg <chip@atlantic.net> Files: pp_ctl.c util.c Subject: Avoid memcmp() for magnitude test if it thinks char is signed From: Chip Salzenberg <chip@atlantic.net> Files: Configure config_H config_h.SH doop.c ext/SDBM_File/sdbm/pair.c ext/SDBM_File/sdbm/sdbm.h handy.h hv.c perl.h pp_hot.c proto.h regexec.c sv.c toke.c util.c Subject: Fully paramaterize locales; disable all if NO_LOCALE From: Chip Salzenberg <chip@atlantic.net> Files: ext/POSIX/POSIX.xs op.c perl.h pp.c pp_sys.c sv.c util.c PORTABILITY AND TESTING Subject: Bitwise op fix for Alpha From: Chip Salzenberg <chip@atlantic.net> Files: pp.c Subject: VMS patches for 5.003_10 Date: Wed, 04 Dec 1996 16:40:12 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: EXTERN.h INTERN.h old_perl_exp.SH perl.c perl.h perl_exp.SH pp.c pp_ctl.c pp_sys.c proto.h sv.c toke.c util.c utils/perldoc.PL vms/config.vms vms/descrip.mms vms/gen_shrfls.pl vms/genconfig.pl vms/vmsish.h private-msgid: <01ICMALO8NMS001A1D@hmivax.humgen.upenn.edu>
| * [inseparable changes from patch from perl5.003_09 to perl5.003_10]Perl 5 Porters1996-11-302-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CORE LANGUAGE CHANGES Subject: Allow &{sub {...}} without warning From: Chip Salzenberg <chip@atlantic.net> Files: toke.c Subject: Make parens optional on [gs]ethost and [gs]et{pw,gr} function From: Chip Salzenberg <chip@atlantic.net> Files: toke.c Subject: Fix syntax error with "$x [0]" and "$x {y}" and "@x {y}" From: Chip Salzenberg <chip@atlantic.net> Files: toke.c DOCUMENTATION Subject: Improve documentation for sysread() and syswrite() From: Chip Salzenberg <chip@atlantic.net> Files: pod/perlfunc.pod Subject: Document how to use $SIG{ALRM} and alarm() Date: Tue, 26 Nov 1996 11:42:49 -0500 From: Roderick Schertler <roderick@ibcinc.com> Files: pod/perlfunc.pod Msg-ID: <5898.849026569@eeyore.ibcinc.com> (applied based on p5p patch as commit 5fa5e7dfc2abaaadd377c97cd1ebe78ea844da88) OTHER CORE CHANGES Subject: Hash key memory corruption fix and naming cleanup From: Chip Salzenberg <chip@atlantic.net> Files: hv.c hv.h perl.h Subject: Undo broken perf. patch (PADTMP stealing) From: Chip Salzenberg <chip@atlantic.net> Files: sv.c Subject: Make SV unstudied in sv_gets() From: Chip Salzenberg <chip@atlantic.net> Files: sv.c Subject: Better support for UVs From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: global.sym old_global.sym perl.h pp.c pp.h proto.h sv.c sv.h Subject: Minor locale cleanups From: Chip Salzenberg <chip@atlantic.net> Files: t/lib/posix.t util.c Accept "POSIX" locale as standard like "C". Reset locale to 'C' when testing strtod() in t/lib/posix.t. Subject: Always taint result of sprintf() on float From: Chip Salzenberg <chip@atlantic.net> Files: doop.c Subject: Fix spurious warning from bitwise string ops From: Chip Salzenberg <chip@atlantic.net> Files: doop.c Subject: Eliminate warning on {,sys}read(,$newvar,) From: Chip Salzenberg <chip@atlantic.net> Files: doop.c pp_sys.c Subject: Namespace cleanup From: Chip Salzenberg <chip@atlantic.net> Files: global.sym old_global.sym perl.h Subject: Modify perl_exp.SH; create old_perl_exp.SH; document old_* From: Chip Salzenberg <chip@atlantic.net> Files: Configure INSTALL MANIFEST old_perl_exp.SH perl_exp.SH PORTABILITY Subject: Reliable signal patch Date: Tue, 26 Nov 1996 05:40:50 -0500 (EST) From: Kenneth Albanowski <kjahds@kjahds.com> Files: global.sym mg.c old_global.sym perl.h pp_sys.c proto.h util.c Msg-ID: <Pine.LNX.3.93.961126053209.294J-100000@kjahds.com> (applied based on p5p patch as commit 679728958e74b0ccd6d61567d84851f1ef994e1f) Subject: Emulate missing flock() with either fcntl() or lockf() From: Chip Salzenberg <chip@atlantic.net> Files: pp_sys.c Subject: 3_09: minor patches for OS/2 Date: Wed, 27 Nov 1996 03:30:05 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: doio.c global.sym malloc.c old_global.sym os2/Makefile.SHs os2/OS2/ExtAttr/Makefile.PL os2/OS2/PrfDB/Makefile.PL os2/OS2/Process/Makefile.PL os2/OS2/REXX/Makefile.PL os2/os2.c os2/os2ish.h perl.h Subject: 3_09: minor patches This patches mostly enable commpilation under OS/2, and fix malloc.c. Enjoy, p5p-msgid: <199611270830.DAA04985@monk.mps.ohio-state.edu> Subject: Re: 5.003_09 and QNX Date: Wed, 27 Nov 96 13:36:06 est From: Norton Allen <nort@bottesini.harvard.edu> Files: Configure MANIFEST README.qnx hints/qnx.sh qnx/ar qnx/cpp t/TEST toke.c util.c x2p/proto.h Msg-ID: <9611271836.AA14460@bottesini.harvard.edu> (applied based on p5p patch as commit c5117498be098729dc2af28089bd130c88c8d42b)
| * DB_File 1.05Paul Marquess1996-11-192-215/+186
| |
| * Update to DB_File 1.03.Perl 5 Porters1996-09-072-162/+747
| |
| * perl 5.003_02: [no incremental changelog available]Larry Wall1996-08-101-12/+3
| |
| * Update to version 1.02Perl 5 Porters1996-07-054-245/+661
| |
* | Initial devel changes.Malcolm Beattie1997-03-281-1/+1
|/ | | | | Pseudo-hashes. Optional strong typing. RESTART {}. p4raw-id: //depot/perl@2
* VERSION PatchPaul Marquess1996-02-061-12/+25
| | | | TieHash -> Tie::Hash
* perl5.002beta3Perl 5 Porters1996-02-022-10/+6
| | | | | | | | | | | | | | | | | [editor's note: no patch file was found for this release, so no fine-grained changes] I can't find the password for our ftp server, so I had to drop it into ftp://ftp.sems.com/pub/incoming/perl5.002b3.tar.gz, which is a drop directory you can't ls. The current plan is that Andy is gonna whack on this a little more, and then release a gamma in a few days when he's happy with it. So don't get carried away. This is now *late* beta. In other words, have less than the appropriate amount of fun. :-) Larry
* perl 5.002beta2 patchPerl 5 Porters1996-01-131-1/+3
| | | | | Disable prototypes. Disable pod2man.
* This is patch.2b1g to perl5.002beta1.Andy Dougherty1995-12-211-9/+70
| | | | | | | | | | | | | | | cd to your perl source directory, and type patch -p1 -N < patch.2b1g This patch is just my packaging of Tom's documentation patches he released as patch.2b1g. Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042
* 5.002 beta 1Larry Wall1995-11-213-35/+53
| | | | | | | | | | | | | | | | | | | | | If you're adventurous, have a look at ftp://ftp.sems.com/pub/outgoing/perl5.0/perl5.002beta1.tar.gz Many thanks to Andy for doing the integration. Obviously, if you consult the bugs database, you'll note there are still plenty of buglets that need fixing, and several enhancements that I've intended to put in still haven't made it in (Hi, Tim and Ilya). But I think it'll be pretty stable. And you can start to fiddle around with prototypes (which are, of course, still totally undocumented). Packrats, don't worry too much about readvertising this widely. Nowadays we're on a T1 here, so our bandwidth is okay. Have the appropriate amount of jollity. Larry
* This is my patch patch.1n for perl5.001.perl-5.001nAndy Dougherty1995-10-314-396/+464
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To apply, change to your perl directory, run the command above, then apply with patch -p1 -N < thispatch. This is a consolidation patch. It contains many of the most commonly applied or agreed-to patches that have been circulating since patch.1m. It also changes the 'unofficial patchlevel' in perl.c. There are some problems (see items marked with '***'). I will attempt to address those in a patch.1o in a few days. This patch contains the following packages: My Jumbo Configure patch vs. 1m, with subsequent patches 1, 2, and 3. Mainly, this provides easier use of local libraries, documents the installation process in a new INSTALL file, moves important questions towards the beginning, and improves detection of signal names (mostly for Linux). xsubpp-1.922. Patches from Larry: eval "1" memory leak patch (as modified by GSAR to apply to 5.001m). NETaa14551 Infinite loop in formats, NETaa13729 scope.c patch (fixed problems on AIX and others) NETaa14138 "substr() & s///" (pp_hot.c) Patches from ftp.perl.com: ftp://ftp.perl.com/pub/perl/src/patches/closure-bug.patch, version of 20 Sep 1995 Includes fix for NETaa14347 (32k limit in regex), and other fixes. ftp://ftp.perl.com/pub/perl/src/patches/debugger.patch, version of 27 Aug 1995 ftp://ftp.perl.com/pub/perl/src/patches/glob-undef.patch, version of 4 Sep 1995 NETaa14421 $_ doesn't undef ftp://ftp.perl.com/pub/perl/src/patches/op-segfault.patch, version of 21 Aug 1995 ftp://ftp.perl.com/pub/perl/src/patches/warn-ref-hash-key.patch, version of 5 Jun 1995 Tim Bunce's Jumbo DynaLoader patch for Perl5.001m, which is NETaa14636 Jumbo DynaLoader patch for Perl5.001m, and Additional patch for NETaa14636 Jumbo DynaLoader patch for Perl5.001m version of 09 Oct 1995. ***This needs some additional parentheses.*** MakeMaker-5.00. Supercedes NETaa13540 (VMS MakeMaker patches). (Updates minimod.PL as well.) ***This has a couple of minor problems. pod2man is run even if it isn't available. LD_RUN_PATH gets set to some mysterious values.*** NETaa14657 Paul Marquess Net::Ping patch. I've included Net-Ping-1.00. NETaa14661 Dean Roehrich DProf. Installed as ext/Devel/DProf. Configure should pick this up automatically. (5 Apr 1995 version.) NETaa13742 Jack Shirazi Socket in 5.001. I've also included his socket.t test in t/lib/socket.t. c2ph-1.7. Dean's perlapi patches of Oct 12, 1995, which superceded those of Oct 8, 1995. This is the one that did mv perlapi.pid perlxs.pod. NETaa14310 Tim Bunce A trivial patch for configpm (handy for shell scripts) DB_File-1.0 patch from Paul Marquess (pmarquess@bfsec.bt.co.uk) last modified 7th October 1995 version 1.0 Added or updated the following hints files: hints/hpux.sh hints/ncr_tower.sh hints/netbsd.sh hints/ultrix.sh Patch and enjoy. Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042
* This is my patch patch.1h for perl5.001.Andy Dougherty1995-05-242-9/+344
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To apply, change to your perl directory, run the commands above, then apply with patch -p1 -N < thispatch. After you apply this patch, you should apply patch.1i before reConfiguring and rebuilding. This patch just includes updates to the ext/ subdirectory. Here are the highlights: Grand autoload patch. Embedded pods. DB_File and GDBM_File updates. Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College Easton, PA 18042 Here's the file-by-file breakdown of what's included: ext/DB_File/DB_File.pm Updated to version 0.2 Embedded pod. ext/DB_File/DB_File.xs Updated to version 0.2 ext/DynaLoader/DynaLoader.pm Embedded pod. ext/DynaLoader/README Updated to refer to pod documentation in DynaLoader.pm. ext/Fcntl/Fcntl.pm Grand AutoLoader patch. Embedded pod. ext/GDBM_File/GDBM_File.pm Grand AutoLoader patch. Embedded pod. ext/GDBM_File/GDBM_File.xs Added gdbm_sync(), gdbm_exists(), and gdbm_setopt() functions. ext/POSIX/POSIX.pm Grand AutoLoader patch. Embedded pod. move tan() into the .xs file. (It didn't exist before.) Change usage message for chmod to reflect reality. ext/POSIX/POSIX.xs move tan() into the .xs file. (It didn't exist before.) ext/SDBM_File/sdbm/sdbm.c Fix type of free prototype. ext/Socket/Socket.pm Grand AutoLoader patch. Embedded pod.
* Perl 5.001perl-5.001Larry Wall1995-03-121-4/+0
| | | | [See the Changes file for a list of changes]
* perl5.000 patch.0o: [address] a few more Configure and build nits.perl-5.000oAndy Dougherty1995-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses a few more Configure and build nits. Full details are given below, but the main hightligths are (slightly) better support for nested extensions and DLD and AIX MakeMaker fixes. Configure Detect MachTen. Thanks to Mark Pease <peasem@primenet.com>. Delete some tabs that caused a MachTen /bin/sh core dump! Detect extensions nested 1 level deep, e.g. Devel/DProf/DProf.xs MANIFEST MANIFEST.new Include new hints/machten.sh hint file. Makefile.SH Document why we use ./makedir instead of mkdir. U/Extensions.U Detect extensions nested 1 level deep, e.g. Devel/DProf/DProf.xs U/dist3_051.pat Include MachTen patches. configpm Convert nested extension names from filesytem-dependent Devel/DProf to perl5's internal naming scheme Devel::DProf. doio.c A dup-related buglet fix from Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>. ext/DB_File/DB_File.pm ext/DynaLoader/DynaLoader.pm ext/Fcntl/Fcntl.pm ext/GDBM_File/GDBM_File.pm ext/POSIX/POSIX.pm ext/Socket/Socket.pm Throw a qw() around @ISA elements to show "good style". hints/machten.sh new file. lib/ExtUtils/MakeMaker.pm Bump version number to 4.086. Fix AIX buglet -- needed to specify NAME. Linux/DLD/gcc-2.6.2: We no longer load .sa libraries (except libm.sa, which is apparently still o.k. util.c Another dup-related buglet fix.
* perl5.000 patch.0l: MakeMaker 4.085 and upgrade Configure to dist3 PL 51.Andy Dougherty1995-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's what's new: Configure Generated by metaconfig PL 51. Correctly set ./mips on a MIPS system. Improved (we hope) handling of $archname. MANIFEST MANIFEST.new Made .SH files out of h2xs and makeaperl so that they get the correct path-to-perl at the top. Makefile.SH Propagate $(perllib) to extensions. U/dist3_051.patches Two patches to apply on top of metaconfig PL 51. I've sent them off for inclusion in the next metaconfig update. config_h.SH config.H Regenerated. Only the order of elements has changed. ext/DB_File/Makefile.PL ext/GDBM_File/Makefile.PL ext/NDBM_File/Makefile.PL Add -L/usr/local/lib to LIBS variable. ext/POSIX/POSIX.xs Place #ifdef around FD_CLOEXEC (needed for Apollo). ext/SDBM_File/sdbm/Makefile.PL Simplified, thanks to MakeMaker enhancements. ext/util/make_ext Pass through $(perllib) argument for cflags. h2xs.SH Changed from h2xs to h2xs.SH. Now finds correct path to perl. hints/next_3_2.sh Updated for hppa. hints/solaris_2.sh Remove potentially problematic -lmalloc from $libswanted. hints/unicos.sh Look in /usr/include/rpcsvc for dbm.h. installperl Install h2xs. lib/Cwd.pm Use 'my' variable to avoid clobbering $_. lib/ExtUtils/MakeMaker.pm Upgraded from 4.06 to 4.085. Lots of documentation improvements. EXE_FILES to refer to an array of executable files to install. Reduce chatter during build process. Don't count a useful -L/path option as a successful search for a particular library. Cleanup handling of aix external symbols. Create/update perllocal.pod to indicate what we've done. makeaperl.SH Changed from makeaperl to makeaperl.SH. Now finds correct path to perl. x2p/util.c Delete unused setenv() and envix() functions. x2p/util.h Delete unused setenv() and envix() prototypes. vms/config.vms Define I_SYS_STAT and I_SYS_TYPES.
* perl5.000 patch.0g: [various portability fixes, and use latest metaconfig ↵Andy Dougherty1995-01-181-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for Configure] This patch incorporates various portability fixes and uses the latest metaconfig to generate Configure (and config_h.SH). It would take a long time to summarize all that I've changed. I haven't included many code changes because I'm trying *not* to duplicate bug fixes Larry may already have applied. Here's an older description I prepared that's still mostly accurate: I've also included a few portability fixes in the main source, but these are certainly not a complete set of everything that's been reported. Don't be put off by the size of the patch. Mostly, it's just rearrangement of the parts in Configure and some cosmetic changes. Since gcc often supports long long, I had started to add quad support to Configure. Since SunOS 4.1.3 defines a conflicting "quad" structure, I changed the name from 'quad' to Quad_t, consistent with other Configure "types." I also changed "QUAD" to "HAS_QUAD". However, it turns out it's pretty hard to actually *use* Quad_t. Neither system I have access to can sprintf() a "long long", nor can they carry one around in an IV, unless I make IV "long long", which I didn't want to force generally. Thus I wonder whether any but a precious few could actually use Quad_t, and dropped the tests from Configure. I left in the s/quad/Quad_t/ and s/QUAD/HAS_QUAD/ stuff in case someone else wants to pick it up, and also because I was too lazy to take it back out :-). Some highlights: Configure Several new options. Use Configure -h to learn more. Also, read the directions Configure prints. :-) Spaces now allowed in -D command line options. New -O option that overrides config.sh. You can start interactively and then change that to accepting all the defaults by specifying &-d at any Configure prompt. This is useful if you have to re-run Configure to only change a few settings. Signal type set correctly for the cast{i32,neg} tests. archname detection improved a bit guard against ksh users who have set -u Oldconfig.U cleaned up and regularized a bit more. Guard against hint files using (and over-writing) $tmp. Command line options now are processed after metaconfig INIT lines. Thus things like Configure -Uuseposix should work now. Various miscellaneous clean-ups. better use/detection of tr. i_db.U now checks for hash and prefix type (I think!) I can't test it here. i_?db*.U now all check for an associated function before deciding to include or not the header. MANIFEST MANIFEST.new Sorted & updated. Makefile.SH Some shells/makes bombed out on test -d lib/auto || mkdir lib/auto Use makedir instead. README Some additional notes that people won't read :-). cflags.SH Now calls $startsh. Weird things were happening on Intergraph, and this might be related. config.H Updated. config_h.SH Regenerated. deb.c Varargs dependencies on STANDARD_C replaced by I_STDARG. doop.c quad stuff. ext/DB_File/DB_File.xs Use the new DB_Hash_t and DB_Prefix_t symbols. ext/SDBM_File/sdbm/sdbm.h Fix #defines to be more robust. mg.c Replace VOIDSIG by metaconfig's Signal_t. opcode.h opcode.pl semop only takes 2 arguments, not 3. perl.c Better guard on getenv() prototype. A hint file can use this, if necessary. Me, I think some compilers are just too picky. perl.h The (very) beginnings of some Quad support. See above. Remove the very troublesome sprintf() prototype. Since we don't _use_ the return value anyway (since it's not portable) this should be o.k. The problem was that some systems CAN_PROTOTYPE but include char *sprintf(); in <stdio.h>. That's incompatible with the version we used to have in perl.h. Most people have a prototype for sprintf() in <stdio.h>. Those that don't probably can get by without it anyway. Protect the timesbuf by the specific HAS_TIMES test. Some older gcc-2.something/Solaris 2.something installations apparently don't have times. pp.c More quad stuff. pp_ctl.c s/STANDARD_C/I_STDARG/ for varargs stuff. pp_sys.c use Signal_t. proto.h Update to match new metaconfig names. util.c s/STANDARD_C/I_STDARG/ for varargs stuff. comment out <unistd.h>. A pause prototype was causing problems on some systems. vms/config.vms Changed to use Signal_t.
* MakeMaker 3.8Tim Bunce1995-01-171-1/+1
|
* This is my patch patch.0a for perl5.000.Tim Bunce1994-12-192-207/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Actually, that's a lie. This is just MakeMaker 3.6. I've just usurped the letter 'a' to fit it into my patch sequence.] Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA this patch includes: - My recently posted 'Very small patches to AutoSplit.pm and Cwd.pm' (with no changes). - A previous small patch to DynaLoader .bs handling with one addition: ! if (-f $bs) { ! if (-s $bs) { # only read file if it's not empty - A recently posted patch to hints/aix.sh (with cosmetic changes). Hopefully no further changes to MakeMaker will be needed before perl5.001. If any changes are required I intend that they will be release as patches to be applied over this one. This is the last MakeMaker jumbo patch for perl5.000. Patch and enjoy. Regards, Tim Bunce. p.s. I'll be around until about 4pm GMT tomorrow (Tuesday), after that I'm off for Christmas. This has been a great year for me. I have very much enjoyed working with the perl5-porters and I wish you all a wonderful and merry Christmas and a very happy New Year.
* perl 5.000perl-5.000Larry Wall1994-10-175-0/+1445
[editor's note: this commit combines approximate 4 months of furious releases of Andy Dougherty and Larry Wall - see pod/perlhist.pod for details. Andy notes that; Alas neither my "Irwin AccuTrack" nor my DC 600A quarter-inch cartridge backup tapes from that era seem to be readable anymore. I guess 13 years exceeds the shelf life for that backup technology :-(. ]