| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Message-Id: <a05100e0ab734816701a5@[172.16.52.1]>
p4raw-id: //depot/perl@10218
|
|
|
|
|
| |
Message-ID: <Pine.OSF.4.10.10105041727420.67333-100000@aspara.forte.com>
p4raw-id: //depot/perl@9993
|
|
|
|
|
| |
Message-Id: <5.0.2.1.0.20010502112909.01f24e28@24.8.96.48>
p4raw-id: //depot/perl@9960
|
|
|
|
|
| |
Message-Id: <5.0.2.1.0.20010327164600.031563e8@exchi01>
p4raw-id: //depot/perl@9414
|
|
|
|
|
|
|
|
|
| |
don't take kindly to stdio.
Ignore "expected" SS$_NOLOGNAM when doing internal LNM lookups
(for often optional LNMs)
Correct a few typos
(C. Bailey)
p4raw-id: //depot/vmsperl@8720
|
|
|
| |
p4raw-id: //depot/vmsperl@8367
|
|
|
| |
p4raw-id: //depot/vmsperl@7375
|
|
|
| |
p4raw-id: //depot/vmsperl@6514
|
|
|
|
|
|
| |
ACLs on SYS$SCRATCH to permit file creation. (based on Charles
Lane's patch)
p4raw-id: //depot/vmsperl@6158
|
|
|
| |
p4raw-id: //depot/vmsperl@6117
|
|
|
| |
p4raw-id: //depot/vmsperl@6114
|
|
|
| |
p4raw-id: //depot/vmsperl@6111
|
|
|
| |
p4raw-id: //depot/vmsperl@5693
|
|
|
|
|
| |
semantics; the pragma sets defaults for both open() and qx//
p4raw-id: //depot/perl@5628
|
|\
| |
| | |
p4raw-id: //depot/perl@5611
|
| |
| |
| |
| |
| |
| |
| | |
To: vmsperl@perl.org, perl5-porters@perl.org
Cc: jhi@iki.fi, Charles Bailey <BAILEY@newman.upenn.edu>, gsar@activestate.com
Message-Id: <4.2.2.20000306153539.00ca6420@exchi01.midwest.metamorgs.com>
p4raw-id: //depot/cfgperl@5588
|
|/
|
| |
p4raw-id: //depot/perl@5610
|
|
|
| |
p4raw-id: //depot/perl@5486
|
|
|
| |
p4raw-id: //depot/vmsperl@5052
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
p4raw-id: //depot/vmsperl@4821
p4raw-branched: from //depot/perl@4249 'branch in'
eg/cgi/dna_small_gif.uu eg/cgi/wilogo_gif.uu epoc/config.sh
epoc/epocish.c epoc/link.pl ext/DB_File/hints/sco.pl
ext/DynaLoader/XSLoader_pm.PL ext/DynaLoader/hints/aix.pl
ext/DynaLoader/hints/openbsd.pl ext/File/Glob/Makefile.PL
ext/File/Glob/TODO ext/IPC/SysV/hints/cygwin.pl
ext/NDBM_File/hints/cygwin.pl ext/NDBM_File/hints/sco.pl
ext/ODBM_File/hints/cygwin.pl lib/byte.pm lib/byte_heavy.pl
lib/unicode/Jamo.txt lib/unicode/NamesList.html
lib/unicode/UCD300.html lib/unicode/Unicode.300
lib/unicode/Unicode3.html os2/OS2/REXX/DLL/Changes
os2/OS2/REXX/DLL/DLL.pm os2/OS2/REXX/DLL/DLL.xs
os2/OS2/REXX/DLL/MANIFEST os2/OS2/REXX/DLL/Makefile.PL
os2/OS2/REXX/t/rx_emxrv.t t/lib/glob-case.t t/lib/glob-taint.t
t/pod/multiline_items.xr t/pod/pod2usage.xr t/pod/podselect.xr
win32/vmem.h t/pod/multiline_items.t t/pod/pod2usage.t
t/pod/podselect.t (@4280..) pod/perlhack.pod (@4340..)
ext/File/Glob/Changes ext/File/Glob/Glob.xs t/lib/glob-global.t
(@4356..) t/lib/glob-basic.t (@4393..) lib/Pod/Man.pm (@4404..)
pod/perlfilter.pod (@4406..) t/io/nargv.t (@4503..)
ext/File/Glob/bsd_glob.c ext/File/Glob/bsd_glob.h (@4514..)
epoc/createpkg.pl epoc/epoc_stubs.c (@4556..)
lib/unicode/Eq/Latin1.pl lib/unicode/Eq/Unicode.pl
lib/unicode/In/BopomofoExtended.pl
lib/unicode/In/BraillePatterns.pl
lib/unicode/In/CJKRadicalsSupplement.pl
lib/unicode/In/CJKUnifiedIdeographsExtensionA.pl
lib/unicode/In/Cherokee.pl
lib/unicode/In/IdeographicDescriptionCharacters.pl
lib/unicode/In/KangxiRadicals.pl lib/unicode/In/Khmer.pl
lib/unicode/In/Mongolian.pl lib/unicode/In/Myanmar.pl
lib/unicode/In/Ogham.pl lib/unicode/In/Runic.pl
lib/unicode/In/Sinhala.pl lib/unicode/In/Syriac.pl
lib/unicode/In/Thaana.pl
lib/unicode/In/UnifiedCanadianAboriginalSyllabics.pl
lib/unicode/In/YiRadicals.pl lib/unicode/In/YiSyllables.pl
(@4573..) pod/perlfork.pod (@4602..) ext/File/Glob/Glob.pm
(@4615..) win32/genmk95.pl (@4653..) win32/vdir.h (@4702..)
win32/perlhost.h (@4789..)
p4raw-deleted: from //depot/perl@4249 'delete in'
eg/cgi/dna.small.gif.uu eg/cgi/wilogo.gif.uu (@2830..)
os2/POSIX.mkfifo (@3518..) lib/warning.pm warning.h (@4008..)
lib/unicode/Jamo-2.txt lib/unicode/UnicodeData-Latest.txt
(@4184..) lib/unicode/Unicode.html (@4209..)
lib/unicode/Eq/Latin1 lib/unicode/Eq/Unicode (@4228..)
lib/Pod/PlainText.pm (@4280..) ext/DynaLoader/dl_cygwin.xs
(@4302..) epoc/config.h (@4475..) epoc/perl.mmp epoc/perl.pkg
(@4556..)
p4raw-integrated: from //depot/perl@4249 'copy in' ext/B/NOTES
ext/B/ramblings/runtime.porting (@562..) hints/amigaos.sh
(@575..) lib/Net/Ping.pm (@854..) lib/strict.pm (@988..)
ext/Thread/Thread/Queue.pm (@1085..)
ext/Thread/Thread/Semaphore.pm (@1086..)
lib/ExtUtils/Installed.pm (@1315..) plan9/plan9ish.h (@1451..)
mpeix/mpeixish.h (@1478..) Porting/p4d2p (@1485..)
ext/ODBM_File/hints/sco.pl ext/Thread/sync.t ext/Thread/sync2.t
hints/lynxos.sh lib/Text/Tabs.pm os2/OS2/REXX/Changes
os2/OS2/REXX/t/rx_dllld.t os2/OS2/REXX/t/rx_objcall.t
os2/OS2/REXX/t/rx_tievar.t os2/OS2/REXX/t/rx_tieydb.t
os2/OS2/REXX/t/rx_vrexx.t os2/dl_os2.c t/comp/term.t
t/io/print.t t/op/glob.t util.h win32/bin/perlglob.pl (@1575..)
ext/B/O.pm (@1617..) ext/Thread/typemap lib/File/DosGlob.pm
(@1760..) t/op/substr.t (@1780..) vos/vosish.h (@1838..)
lib/ExtUtils/Mkbootstrap.pm (@1932..) Porting/genlog (@1978..)
lib/constant.pm (@2029..) t/op/array.t (@2210..)
lib/Math/Complex.pm (@2219..) hints/dynixptx.sh (@2318..)
ext/IO/IO.pm (@2354..) hints/mint.sh lib/Tie/Array.pm
lib/Tie/Hash.pm (@2620..) os2/Changes (@2695..) globvar.sym
(@2746..) t/comp/bproto.t (@2817..) lib/DB.pm (@2820..)
hints/mpeix.sh lib/FindBin.pm (@2830..) ext/IO/lib/IO/Select.pm
(@2882..) t/lib/english.t (@2891..) t/op/subst.t (@2892..)
t/op/range.t (@2923..) pod/perl5005delta.pod (@2929..)
hints/next_3.sh hints/next_3_0.sh (@3023..) lib/Getopt/Std.pm
(@3034..) lib/File/Spec.pm (@3042..) t/pragma/warn/1global
(@3096..) t/pod/emptycmd.t t/pod/for.t t/pod/for.xr
t/pod/headings.t t/pod/headings.xr t/pod/include.t
t/pod/include.xr t/pod/included.t t/pod/included.xr
t/pod/lref.t t/pod/lref.xr t/pod/nested_items.t
t/pod/nested_items.xr t/pod/nested_seqs.t t/pod/nested_seqs.xr
t/pod/oneline_cmds.t t/pod/oneline_cmds.xr t/pod/testcmp.pl
(@3129..) README.hurd (@3148..) ext/re/re.pm (@3152..)
lib/ExtUtils/Liblist.pm t/comp/require.t (@3153..)
Porting/p4desc (@3183..) Porting/pumpkin.pod hints/linux.sh
myconfig.SH (@3267..) t/op/readdir.t (@3299..)
t/pod/special_seqs.t t/pod/special_seqs.xr (@3304..)
t/lib/fields.t (@3335..) t/op/taint.t (@3357..)
lib/File/Copy.pm (@3362..) installhtml (@3371..)
ext/Socket/Socket.pm (@3391..) t/lib/ipc_sysv.t t/op/nothread.t
(@3399..) lib/CPAN/FirstTime.pm (@3458..) pod/perlfaq8.pod
(@3459..) pod/perlcall.pod pod/perlipc.pod pod/perltie.pod
pod/perlxs.pod (@3460..) t/pragma/strict-subs (@3514..)
ext/ByteLoader/ByteLoader.pm lib/Math/BigFloat.pm (@3516..)
x2p/walk.c (@3518..) win32/win32thread.c win32/win32thread.h
(@3525..) os2/OS2/REXX/REXX.xs (@3531..) utf8.h (@3537..)
lib/ExtUtils/Embed.pm (@3553..) ext/Thread/Thread/Specific.pm
(@3564..) ext/POSIX/Makefile.PL lib/Cwd.pm (@3582..) hv.h
(@3602..) ext/NDBM_File/NDBM_File.pm ext/ODBM_File/ODBM_File.pm
ext/SDBM_File/SDBM_File.pm (@3603..) lib/Sys/Hostname.pm
(@3631..) os2/os2.c (@3640..) emacs/ptags miniperlmain.c
(@3660..) ext/IO/IO.xs win32/config_h.PL win32/dl_win32.xs
win32/runperl.c win32/win32sck.c (@3667..) pod/Win32.pod
pod/perlfaq4.pod pod/perltodo.pod (@3676..) lib/vars.pm
(@3686..) lib/ExtUtils/Manifest.pm (@3693..) hints/README.hints
hints/epix.sh hints/esix4.sh hints/next_4.sh (@3753..)
ext/GDBM_File/GDBM_File.pm lib/CPAN.pm pod/perllocale.pod
(@3754..) lib/bigfloat.pl (@3759..) lib/Pod/Text/Color.pm
lib/Pod/Text/Termcap.pm pod/pod2text.PL (@3788..)
ext/POSIX/POSIX.pm lib/AutoLoader.pm (@3794..) Porting/makerel
(@3797..) t/lib/io_unix.t (@3825..) EXTERN.h Porting/patchls
ext/SDBM_File/sdbm/pair.c makedepend.SH (@3852..)
lib/File/Spec/Unix.pm unixish.h (@3855..)
lib/ExtUtils/Mksymlists.pm (@3856..) t/pragma/utf8.t (@3892..)
README (@3901..) t/op/eval.t (@3988..) MAINTAIN
ext/B/B/Stash.pm ext/ByteLoader/ByteLoader.xs
ext/Fcntl/Fcntl.xs ext/SDBM_File/Makefile.PL lib/Math/Trig.pm
os2/OS2/REXX/Makefile.PL perlsdio.h regnodes.h utils/perlbug.PL
(@4008..) epoc/epoc.c pod/perltoc.pod pod/perlvar.pod regexp.h
t/lib/attrs.t t/op/time.t t/pragma/warn/2use
t/pragma/warn/3both t/pragma/warn/7fatal universal.c warnings.h
warnings.pl (@4076..) ext/Opcode/Opcode.pm ext/attrs/attrs.xs
t/pragma/warn/pp_ctl (@4081..) t/pragma/warn/pp_sys (@4088..)
t/pragma/sub_lval.t (@4090..) t/TEST (@4092..) xsutils.c
(@4101..) pod/buildtoc (@4120..) djgpp/config.over
djgpp/djgppsed.sh pod/pod2usage.PL pod/podselect.PL (@4121..)
lib/Pod/Html.pm (@4122..) av.h (@4123..) t/pragma/locale.t
(@4130..) pod/perldata.pod (@4131..) pod/perllexwarn.pod
(@4132..) ext/B/typemap ext/DB_File/DB_File.pm
lib/ExtUtils/typemap (@4142..) ext/B/Makefile.PL
t/lib/bigfltpm.t (@4149..) lib/ExtUtils/MM_VMS.pm
vms/descrip_mms.template (@4182..) ext/DynaLoader/dl_vmesa.xs
ext/DynaLoader/dl_vms.xs lib/unicode/ReadMe.txt pod/perlsyn.pod
t/op/groups.t (@4184..) t/pragma/warn/op (@4189..) thrdvar.h
(@4197..) ext/B/B/Terse.pm (@4199..) t/lib/posix.t (@4223..)
keywords.h keywords.pl pod/perlfaq3.pod pod/perlsub.pod
t/pragma/strict-vars (@4227..) pod/perlfaq9.pod (@4228..)
djgpp/configure.bat lib/Exporter/Heavy.pm (@4242..)
Porting/findvars lib/ExtUtils/xsubpp pod/perlguts.pod
t/lib/filecopy.t (@4271..) ext/attrs/attrs.pm (@4278..)
t/op/avhv.t (@4279..) lib/Pod/Checker.pm
lib/Pod/InputObjects.pm t/pod/testp2pt.pl (@4280..)
lib/Pod/Usage.pm pod/podchecker.PL t/pod/poderrs.t
t/pod/poderrs.xr t/pod/testpchk.pl (@4281..) lib/Pod/Text.pm
pod/pod2man.PL (@4282..) ext/Devel/Peek/Peek.xs
ext/DynaLoader/dl_beos.xs ext/DynaLoader/dl_dld.xs
ext/DynaLoader/dl_mpeix.xs ext/DynaLoader/dlutils.c perlio.c
(@4302..) ext/B/defsubs_h.PL t/pragma/constant.t (@4303..)
ext/Thread/Thread.xs (@4316..) ext/Thread/Thread.pm (@4328..)
lib/Exporter.pm (@4331..) ext/DynaLoader/dl_aix.xs (@4336..)
pod/Makefile pod/roffitall (@4340..) lib/lib.pm (@4343..)
pod/perlref.pod (@4345..) perly.y perly_c.diff (@4350..)
t/lib/safe2.t (@4353..) hints/svr5.sh (@4377..)
pod/perlfaq2.pod (@4383..) lib/Benchmark.pm (@4384..)
win32/include/dirent.h (@4385..) pod/perlopentut.pod (@4390..)
hints/os2.sh os2/Makefile.SHs (@4393..) lib/Pod/Parser.pm
lib/Pod/Select.pm (@4400..) malloc.c (@4402..)
pod/perlmodlib.pod (@4404..) perlvars.h (@4409..) t/op/sort.t
(@4418..) t/op/int.t (@4430..) os2/OS2/REXX/REXX.pm t/io/fs.t
t/op/magic.t (@4432..) lib/File/Path.pm (@4433..)
t/op/lex_assign.t (@4436..) lib/attributes.pm (@4437..)
pod/perlop.pod (@4438..) ext/POSIX/POSIX.xs (@4448..)
Policy_sh.SH ext/Data/Dumper/Dumper.xs hints/dec_osf.sh
t/lib/charnames.t (@4475..) lib/Time/Local.pm (@4481..) cv.h
ext/B/B/Xref.pm (@4485..) doop.c handy.h hints/irix_6.sh pp.h
taint.c (@4496..) deb.c (@4505..) dosish.h os2/os2ish.h perly.c
vms/perly_c.vms (@4511..) ext/B/B/Lint.pm pod/perlmod.pod
pod/perlrun.pod (@4515..) bytecode.pl ext/B/B.pm
ext/B/B/Asmdata.pm ext/B/B/CC.pm ext/B/B/Debug.pm
ext/B/B/Deparse.pm ext/ByteLoader/bytecode.h
ext/ByteLoader/byterun.c ext/ByteLoader/byterun.h
ext/Devel/Peek/Peek.pm gv.h (@4545..) README.epoc
epoc/epocish.h ext/B/B.xs ext/Fcntl/Fcntl.pm hints/hpux.sh
t/lib/syslfs.t t/op/lfs.t t/op/pat.t (@4556..)
ext/DynaLoader/DynaLoader_pm.PL hints/solaris_2.sh
lib/unicode/Is/SylA.pl lib/unicode/Is/SylC.pl
lib/unicode/Is/SylE.pl lib/unicode/Is/SylI.pl
lib/unicode/Is/SylO.pl lib/unicode/Is/SylU.pl
lib/unicode/Is/SylV.pl lib/unicode/Is/SylWA.pl
lib/unicode/Is/SylWC.pl lib/unicode/Is/SylWE.pl
lib/unicode/Is/SylWI.pl lib/unicode/Is/SylWV.pl
lib/unicode/mktables.PL t/op/pack.t t/op/regexp.t utils/h2xs.PL
utils/perldoc.PL vms/vms.c vms/vmsish.h win32/win32iop.h
(@4573..) t/lib/dumper.t t/pragma/overload.t (@4574..)
ext/Errno/Errno_pm.PL ext/IO/lib/IO/Socket.pm (@4575..)
t/op/misc.t (@4578..) ext/Opcode/Opcode.xs (@4579..) cop.h
(@4588..) lib/perl5db.pl (@4601..) XSUB.h globals.c
pod/perl.pod run.c scope.c (@4602..) op.h win32/perllib.c
(@4603..) AUTHORS pod/perlport.pod t/op/runlevel.t (@4604..)
scope.h (@4605..) README.vms hints/aix.sh vms/subconfigure.com
(@4606..) pod/perlxstut.pod (@4620..) regcomp.h (@4622..)
ext/Devel/DProf/DProf.pm ext/DynaLoader/Makefile.PL (@4623..)
pod/perltrap.pod (@4630..) ext/B/B/Bytecode.pm (@4631..)
opcode.h opcode.pl t/pragma/warn/4lint t/pragma/warn/doio
t/pragma/warn/pp_hot (@4641..) mg.c (@4658..) iperlsys.h
(@4660..) ext/B/B/C.pm (@4662..) pod/perlre.pod (@4666..)
embedvar.h (@4668..) t/lib/filefind.t (@4671..) intrpvar.h
(@4672..) ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_next.xs
ext/DynaLoader/dl_rhapsody.xs (@4686..) lib/File/Find.pm
(@4687..) cygwin/Makefile.SHs (@4688..) t/op/re_tests (@4693..)
hv.c (@4694..) t/op/delete.t (@4695..) utf8.c (@4698..)
thread.h (@4704..) pod/perldiag.pod pp_sys.c (@4709..)
Makefile.SH (@4712..) hints/cygwin.sh t/op/stat.t (@4717..)
README.os2 lib/ExtUtils/Install.pm (@4720..) t/pragma/warn/doop
t/pragma/warn/pp t/pragma/warn/regcomp t/pragma/warn/sv
t/pragma/warn/toke t/pragma/warn/utf8 (@4721..)
lib/diagnostics.pm (@4722..) regcomp.c (@4724..) configpm
pp_ctl.c sv.h (@4726..) global.sym (@4727..) INTERN.h
README.win32 lib/ExtUtils/MM_Win32.pm makedef.pl (@4729..)
t/io/argv.t (@4732..) doio.c pp_hot.c (@4736..) toke.c
(@4740..) gv.c (@4742..) win32/win32.h (@4743..)
ext/Devel/DProf/DProf.xs objXSUB.h (@4744..)
ext/Data/Dumper/Dumper.pm (@4745..) embed.h embed.pl
ext/DynaLoader/dl_dlopen.xs proto.h (@4746..) pp.c (@4747..)
sv.c (@4749..) lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MakeMaker.pm (@4754..) util.c utils/perlcc.PL
(@4755..) t/io/open.t (@4757..) regexec.c (@4759..) MANIFEST
installman (@4769..) Porting/Glossary (@4771..) t/lib/thread.t
(@4772..) Changes INSTALL Porting/config.sh Porting/config_H
config_h.SH installperl patchlevel.h win32/config.bc
win32/config.gc win32/config.vc win32/config_sh.PL
win32/win32.c (@4773..) win32/Makefile win32/config_H.bc
win32/config_H.gc win32/config_H.vc win32/makefile.mk (@4774..)
perl.c (@4779..) t/op/fork.t (@4791..) av.c pod/perldelta.pod
(@4796..) pod/perlfunc.pod (@4799..) dump.c (@4800..) op.c
(@4801..) perl.h (@4805..) Configure (@4814..) 'merge in'
configure.com (@4767..)
|
|
|
|
|
| |
Clear prior definition of getenv_len before defining VMS-specific macro
p4raw-id: //depot/vmsperl@4026
|
|
|
| |
p4raw-id: //depot/vmsperl@4019
|
|
|
|
|
|
| |
Message-Id: <3.0.6.32.19990607144642.03079100@ous.edu>
Subject: [PATCH 5.005_57]Updated VMS patch
p4raw-id: //depot/perl@3594
|
|
|
| |
p4raw-id: //depot/perl@3518
|
|
|
|
|
|
|
|
|
|
| |
needed to open myconfig.SH rather than myconfig; sundry adjustments
to bytecode stuff; tweaks to DYNAMIC_ENV_FETCH code to make it
work under win32; getenv_sv() changed to getenv_len() since SVs
aren't visible in the lower echelons; remove bogus exports from
config.sym; PERL_OBJECT-ness for C++ exception support; null out
IoDIRP in filter_del() or sv_free() will attempt to close it
p4raw-id: //depot/perl@3387
|
|
|
|
|
|
| |
Message-id: <01J8YFGIHW2W001E7S@mail.newman.upenn.edu>
Subject: [PATCH 5.005_56] Miscellaneous VMS-specific fixes
p4raw-id: //depot/perl@3153
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Subject: [PATCH5.005_56]Diffs to get 5.005_56 building on VMS
Date: Mon, 01 Mar 1999 16:06:29 -0800
Message-Id: <3.0.6.32.19990301160629.02e09ec0@ous.edu>
From: Dan Sugalski <sugalskd@osshe.edu>
To: perl5-porters@perl.org, vmsperl@perl.org
Subject: [PATCH 5.005_56]vmsish.pm patch
Date: Mon, 01 Mar 1999 20:19:04 -0800
Message-Id: <3.0.6.32.19990301201904.02cff460@ous.edu>
plus Configure regen containing a "solution" to the
crosscompile/multiarch problem.
p4raw-id: //depot/cfgperl@3050
|
|
|
|
|
|
|
|
|
| |
To: perl5-porters@perl.org, vmsperl@cor.newman.upenn.edu
Message-ID: <MLIST_3.0.6.32.19981202141057.0339a7f0@ous.edu>
The patch to config_h.SH requires more study because
metaconfig needs to agree.
p4raw-id: //depot/cfgperl@2441
|
|
|
| |
p4raw-id: //depot/utfperl@1651
|
|
|
|
|
|
| |
brute force search script). Result builds and passes all tests on
Solaris. win32 and PERL_OBJECT are still untested.
p4raw-id: //depot/perl@1578
|
|
|
|
|
|
| |
Message-Id: <199807111451.RAA27010@alpha.hut.fi>
Subject: M3 "generic" parts
p4raw-id: //depot/perl@1451
|
|
|
| |
p4raw-id: //depot/perl@854
|
|
|
|
|
|
| |
[Needed manual tweaks on vms/config.vms since it clashed with other
patches. I may have got it wrong.]
p4raw-id: //depot/perl@817
|
|
|
|
|
| |
Subject: [PATCH] VMS update for 5.004_56
p4raw-id: //depot/perl@403
|
|
|
|
|
|
| |
needs rewriting now that we use perlvars.h and foovar.h:
Subject: [PATCH] 5.004_54 under VMS (fwd)
p4raw-id: //depot/perl@374
|
|
|
|
|
| |
Subject: patch to 5.004_54 for pthreads with Perl's malloc
p4raw-id: //depot/perl@299
|
|
|
| |
p4raw-id: //depot/perl@173
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The VMS Perl port has local routines to handle time(), localtime(), and
gmtime(), because the implementations of these on VMS are broken for VMS
v6.2 and below. This implemetation gets strange for most of Jan 1, 1970
(From midnight to 4 PM), and behaves oddly for daylight savings time, but
only on OpenVMS 7.0 and 7.1.
The following patch disables the local versions of time(), localtime(), and
gmtime(), and uses the system provided versions, for OpenVMS 7.0 and up.
5.004_03 passes all tests with this patch. Tested on OpenVMS Alpha 7.1 and
6.2, and OpenVMS Vax 7.1, 6.2, and 5.5-2.
p5p-msgid: 3.0.3.32.19970908112449.0087bc90@stargate.lbcc.cc.or.us
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[editor's note - this list of differences was built manually, so is
either a little inaccurate or the most well preened out of the
"unapplied changes" lists so far. It certainly didn't get the usual
injection of message bodies.
The aim of these changes is to give you a vector for finding a list
message if you have an annotate operation hit this commit]
------ BUILD PROCESS ------
Title: "[PATCH]: HP-UX 10 w/o transition links"
From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
Msg-ID: <199706231650.AA070364627@hpcc123.corp.hp.com>
Files: Configure
Title: "INSTALL updates for GNU ld and __inet_* errors"
From: Andy Dougherty <doughera@newton.phys.lafayette.edu>
Files: INSTALL
------ CORE LANGUAGE ------
Title: "[PATCH] Additional patch for "Can't execute ...""
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Msg-ID: <199707191651.MAA04897@monk.mps.ohio-state.edu>
Files: pod/perldiag.pod perl.c
See 21fc060b433a5fd003b9aca5789342207c46ada4 and
2a92aaa05aa1acbf01092228d30e9b1d7b2a3f61
Title: "[PATCH] Re: Can't pack literals as pointers"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <199708012250.SAA20278@aatma.engin.umich.edu>
Files: pod/perldiag.pod pod/perlfunc.pod pp.c t/op/pack.t
On Wed, 25 Jun 1997 00:23:18 GMT, John Tobey wrote:
>
>IMHO, pack("p","foo") should evaluate to a pointer that's valid
>in the current context. pack("p",undef) should return the NULL
>value. Currently, they both produce the error "Modification of a
>read-only value attempted".
>
>This looks pretty easy to fix, so I've prepared a diff against
>the 5.004_01 distribution. This tests fine on my Linux. I hope
>I'm not introducing a memory leak or other ailment...
That doesn't look quite right to me. When provided a literal, you
should point at the actual literal (which normally has a global
lifetime), rather than making a mortal copy of it and pointing at
that. The mortal copy will be destroyed at the next statement
boundary, and you'll be left with a dangling pointer when you
unpack().
You're doing the very thing the XXX comment above was intended to
highlight.
I do agree that literals should be pack('p')-able. So, I'd suggest
the change be modified [...]
Title: "One-liner regex causes SEGV on 5.003 under HP-UX and Linux"
From: Hugo van der Sanden <hv@crypt.compulink.co.uk>
Msg-ID: <199707061144.MAA04443@crypt.compulink.co.uk>
Files: regexec.c t/op/re_tests
[was originally credited as the same change as
44ed422101809141bc33c2b85c1cff357de4d7bf]
Title: "Free temps before calling END blocks", "Too late destruction"
From: Chip Salzenberg <chip@rio.atlantic.net>
Msg-ID: <m33erfv5hx.fsf@chany-p100.emwp.com>
Files: perl.c
Title: "Forbid "goto" into middle of foreach loop"
From: Chip Salzenberg <chip@rio.atlantic.net>
Files: pod/perldiag.pod pp_ctl.c
Title: "[PATCH] m2t2: problem in NetBSD 1.2D with sfio"
From: Jarkko Hietaniemi <jhi@iki.fi>
Files: perl.h
Title: "Forbid negative splice offset beyond array start"
From: "John L. Allen" <allen@gateway.grumman.com>, Chip Salzenberg
<chip@rio.atlantic.net>
Msg-ID: <Pine.SOL.3.91.970625111744.19300A-100000@gateway>
Files: pp.c
Title: "Fix memory leak on eval 'sub {}'"
From: Chip Salzenberg <chip@rio.atlantic.net>
Files: pp_ctl.c
Title: "Fix C<qq #hi#>"
From: Chip Salzenberg <chip@rio.atlantic.net>
Files: toke.c
Title: "Don't warn about "${foo}" in string, even if &foo exists"
From: Chip Salzenberg <chip@rio.atlantic.net>
Files: toke.c
Title: "Perldb internal flag rehaul"
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perldebug.pod pod/perlvar.pod perl.h gv.c mg.c op.c perl.c
pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c
Title: "Fix C<print $foo x 2> parsing"
From: "Chuck D. Phillips (NON-HP Employee)" <cdp@hpescdp.fc.hp.com>, Chip
Salzenberg <chip@rio.atlantic.net>
Msg-ID: <199706121737.KAA00503@palrel3.hp.com>
Files: toke.c
Title: "Fix lockf_emulate_flock() positioning"
From: Chip Salzenberg <chip@rio.atlantic.net>, gen@atd.rdc.ricoh.co.jp
Msg-ID: <199706091132.UAA00895@wampa.atd.rdc.ricoh.co.jp>
Files: pp_sys.c
Title: "[PATCH] Make DEBUGGING_MSTATS info consistent"
From: Andy Dougherty <doughera@newton.phys.lafayette.edu>
Msg-ID: <Pine.SUN.3.96.970731131529.3740A-100000@newton.phys>
Files: INSTALL pod/perldelta.pod perl.h
Title: "semctl broken under Linux"
From: Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de>, Andreas
Schwab <schwab@issan.informatik.uni-dortmund.de>, Graham
Barr <gbarr@ti.com>, Tim Bunce <Tim.Bunce@ig.co.uk>
Msg-ID: <33C38291.2D9302DA@ti.com>,
<9707040912.AA03470@issan.informatik.uni-dortmund.de>,
<9707041538.AA08946@toad.ig.co.uk>,
<9707070924.AA11774@issan.informatik.uni-dortmund.de>,
<9707090933.AA19012@issan.informatik.uni-dortmund.de>
Files: doio.c
[one change made it, as 8e591e46b4c6543ed80895327199c4a628ce11b6]
Title: "One-liner regex causes SEGV on 5.003 under HP-UX and Linux"
From: Hugo van der Sanden <hv@crypt.compulink.co.uk>
Msg-ID: <199707061144.MAA04443@crypt.compulink.co.uk>
Files: regexec.c t/op/re_tests
[was originally credited as the same change as
44ed422101809141bc33c2b85c1cff357de4d7bf]
Title: "Fix up problems with *DBM tests"
From: Paul Marquess <pmarquess@bfsec.bt.co.uk>
Files: t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t
Title: "Faster int to string conversion",
"[PATCH} Re: memory leak in buffer
safety code"
From: Chip Salzenberg <chip@rio.atlantic.net>, Hugo van der Sanden
<hv@crypt.compulink.co.uk>, Tim Bunce <Tim.Bunce@ig.co.uk>
Msg-ID: <199707140912.KAA09935@crypt.compulink.co.uk>,
<199707142050.QAA20976@rio.atlantic.net>,
<199707182035.VAA20990@crypt.compulink.co.uk>,
<9707151040.AA02883@toad.ig.co.uk>
Files: global.sym sv.c
Title: "Fix '-' flag on sprintf() of floats"
From: Chip Salzenberg <chip@rio.atlantic.net>, Jarkko Hietaniemi
<jhi@iki.fi>
Msg-ID: <199705270646.JAA02510@alpha.hut.fi>
Files: sv.c
Title: "Don't use atol() for unsigned values", "signedness problem in
pack("N", "value");"
From: Chip Salzenberg <chip@rio.atlantic.net>, Roger Espel Llima
<espel@llaic.univ-bpclermont.fr>
Msg-ID: <19970531200007.40218@llaic.univ-bpclermont.fr>
Files: sv.c
Title: "Perldb internal flag rehaul"
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perldebug.pod pod/perlvar.pod perl.h gv.c mg.c op.c perl.c
pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c
Title: "[PATCH] Exporter new export_to_level method"
From: epeschko@elmer.tci.com (Ed Peschko)
Files: lib/Exporter.pm
Title: "[MM] Small patch to MakeMaker, new release"
From: "Andreas J. Koenig" <k@anna.in-berlin.de>
Msg-ID: <199706281603.SAA10869@anna.in-berlin.de>
Files: lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm
lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm
Title: "CPAN.pm, $VERSION and nested (bundled) modules."
From: a.koenig@kulturbox.de (Andreas J. Koenig)
Files: lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm
lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
lib/ExtUtils/Mksymlists.pm
Title: "Time::Local patch (plus perl.c and filehand.t)"
From: ilya@math.ohio-state.edu (Ilya Zakharevich)
Files: lib/Time/Local.pm perl.c t/lib/filehand.t
Title: "Slightly safer signals"
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: mg.c perl.c
Title: "Perldb internal flag rehaul"
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perldebug.pod pod/perlvar.pod perl.h gv.c mg.c op.c perl.c
pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c
Title: "'use UNIVERSAL;' deprecated, do C<UNIVERSAL::isa()> instead",
"UNIVERSAL.pm and import methods"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Gisle Aas <aas@bergen.sn.no>,
Graham Barr <gbarr@ti.com>, Gurusamy Sarathy
<gsar@engin.umich.edu>, Hugo van der Sanden
<hv@crypt.compulink.co.uk>
Msg-ID: <199706271701.NAA25664@aatma.engin.umich.edu>,
<199706271904.UAA00120@crypt.compulink.co.uk>,
<199706272054.QAA28913@aatma.engin.umich.edu>,
<199706301554.LAA03763@aatma.engin.umich.edu>,
<33B22248.7D7C1985@ti.com>,
<E0wf5TN-0006ps-00@taurus.cus.cam.ac.uk>,
<E0wguTR-0005bs-00@ursa.cus.cam.ac.uk>,
<E0whaZJ-0007BA-00@ursa.cus.cam.ac.uk>,
<E0whfHh-0007bW-00@ursa.cus.cam.ac.uk>,
<E0wiyUG-00073j-00@taurus.cus.cam.ac.uk>,
<hiuyv6q9k.fsf@bergen.sn.no>
Files: lib/Class/Struct.pm lib/File/Compare.pm lib/File/Copy.pm
t/op/universal.t universal.c
[two changes made it, as
d704f39a0db2dc23790dfd9d7bd59ce9928a6e2c,
e09f3e01ccd721309f0eb0aae224d84db2e8436a]
------ PORTABILITY - WIN32 ------
Title: "[PATCH] Embedding threaded apps in perl.dll"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <199707261518.LAA24346@aatma.engin.umich.edu>,
<199707301833.OAA19570@aatma.engin.umich.edu>
Files: win32/win32.c
[one change made it, as
4dd614da4d1132b957c4951dd00f64d81b89dc20]
Title: "minor win32 scribbles"
From: Hugo van der Sanden <hv@crypt.compulink.co.uk>
Msg-ID: <199707270832.JAA19399@crypt.compulink.co.uk>
Files: README.win32
[nitpicking f7c603cbfba7c97f77e257c42aa119ffdb47fe1e]
Title: "[PATCH] binary coexistence on win32", "[RESEND] [PATCH] binary
coexistence on win32"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <199707250109.VAA02666@aatma.engin.umich.edu>,
<199707301829.OAA19516@aatma.engin.umich.edu>
Files: lib/ExtUtils/Mksymlists.pm win32/win32.h win32/win32io.h
win32/win32iop.h win32/makedef.pl win32/win32.c
win32/win32io.c
Title: "WIN32 Build - pod2xxx.bat Missing?", "[PATCH] Re: WIN32 Build -
pod2xxx.bat Missing?"
From: Chris Williams <chrisw@netinfo.com.au>, Gurusamy Sarathy
<gsar@engin.umich.edu>
Msg-ID: <199707011423.KAA15855@aatma.engin.umich.edu>,
<33B8B962.D96FA1F5@netinfo.com.au>
Files: win32/Makefile win32/makefile.mk
Title: "[PATCH] docs for win32 utilities"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <199707250045.UAA02510@aatma.engin.umich.edu>
Files: win32/bin/pl2bat.bat win32/bin/runperl.bat
Title: "[PATCH] trial2: some batch files won't run"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <199708040226.WAA17301@aatma.engin.umich.edu>
Files: win32/bin/pl2bat.bat win32/bin/runperl.bat
Title: "[PATCH] win32 extras and embedding"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <199707250232.WAA03421@aatma.engin.umich.edu>,
<199707301831.OAA19528@aatma.engin.umich.edu>
Files: dosish.h win32/win32.h perl.c win32/config.bc win32/config_H.bc
win32/makedef.pl win32/perllib.c win32/win32.c
[one change was applied (hastily), as
ad2e33dc060dc2ccf73a5ff1557a69a9b09c30c8]
------ PORTABILITY - OTHER ------
Title: "Additional OS/2 patches"
From: Gurusamy Sarathy <gsar@engin.umich.edu>, Ilya Zakharevich
<ilya@math.ohio-state.edu>
Msg-ID: <199708020823.EAA19521@monk.mps.ohio-state.edu>,
<199708021424.KAA28561@aatma.engin.umich.edu>,
<199708042108.RAA27671@aatma.engin.umich.edu>
Files: README.os2 os2/Changes perl.c
[one change was applied, as
d8c2d278168b862ff4120ad8e5887d37d31f858b]
Title: "make depend loop fix and minor OS/2 improvements to build process"
From: ilya@math.ohio-state.edu (Ilya Zakharevich)
Files: Makefile.SH hints/os2.sh os2/Makefile.SHs
Title: "Minor VMS patches"
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Msg-ID: <01ILCUO6XXTE000WFK@hmivax.humgen.upenn.edu>
Files: lib/ExtUtils/MM_VMS.pm vms/vmsish.h vms/descrip.mms vms/test.com
vms/vms.c vms/ext/filespec.t
Title: "[PATCH] Two un-disabled tests for VMS"
From: Dan Sugalski <sugalsd@lbcc.cc.or.us>
Msg-ID: <3.0.2.32.19970718095842.00879220@stargate.lbcc.cc.or.us>
Files: vms/test.com
Title: "fix substr fix (tests 27 etc)", "perl5.004_02 trial 1 available
(with substr bug and still some"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Hugo van der Sanden
<hv@crypt.compulink.co.uk>, Jarkko Hietaniemi <jhi@iki.fi>
Msg-ID: <199707301759.SAA02899@crypt.compulink.co.uk>,
<199707302228.BAA18032@alpha.hut.fi>,
<199707310929.KAA06515@crypt.compulink.co.uk>,
<E0wtruH-0002JM-00@ursa.cus.cam.ac.uk>
Files: pp.c
Title: "Fwd: substr("foo", -1000)", "substr: warn if substring doesn't
intersect original at all"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Jarkko Hietaniemi <jhi@iki.fi>
Msg-ID: <199707100655.JAA14924@alpha.hut.fi>,
<E0wm1JG-0000UY-00@taurus.cus.cam.ac.uk>
Files: pod/perlfunc.pod pp.c t/op/substr.t
[one change was applied, as
d9fdd1afe4b88705294e21dc4e070c42d3d9a4d8]
Title: "[PATCH] Changes for VMS 7.1 support"
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>, Dan Sugalski
<sugalsd@lbcc.cc.or.us>
Msg-ID: <01ILDXUH0J1W00026U@hmivax.humgen.upenn.edu>,
<3.0.2.32.19970718095935.0087a2d0@stargate.lbcc.cc.or.us>
Files: vms/sockadapt.h vms/config.vms vms/sockadapt.c
------ DOCUMENTATION ------
Title: "Document bug fix in localization of $1 etc."
From: Chip Salzenberg <salzench@nielsenmedia.com>
Files: pod/perldelta.pod
Title: "[BUG:PATCH] Missing semicolon message wrong in perldiag"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>
Msg-ID: <E0welEn-0002vT-00@taurus.cus.cam.ac.uk>,
<E0wfRJU-0006Aw-00@taurus.cus.cam.ac.uk>
Files: pod/perldiag.pod
[one change was applied, as
702d120df290e0de1b21f167f7d0110b35ee2fef]
Title: "OK: perl <some_version> on <some_system> (corrected)", "enhancements
to perlbug -ok"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Stephen McCamant <alias@mcs.com>
Msg-ID: <E0wukVt-0006Da-00@ursa.cus.cam.ac.uk>,
<E0wvMQl-00055y-00@ursa.cus.cam.ac.uk>,
<m0wv81x-000EYPC@alias-2.pr.mcs.net>
Files: utils/Makefile utils/perlbug.PL
Title: "perldoc doesn't grok Win32 UNC paths"
From: Warren Jones <wjones@tc.fluke.com>
Msg-ID: <97Jun17.184420pdt.35728-1@gateway.fluke.com>,
<97Jun18.165618pdt.35713-1@gateway.fluke.com>
Files: utils/perldoc.PL
[one change was applied, as
f72119fc50f0d88b02501ba41112f82ab99f0c3b]
|
|
|
|
|
| |
Signed-off-by: Peter Prymmer <pvhp@forte.com>
Signed-off-by: Dan Sugalski <sugalsd@lbcc.cc.or.us>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUILD PROCESS
Subject: Fix syntax error in Configure comment(!)
From: Chip Salzenberg <chip@perl.com>
Files: Configure
Subject: For Solaris, if -DDEBUGGING, default to '-KPIC', not '-Kpic'
From: Chip Salzenberg <chip@perl.com>
Files: Configure
Subject: Fix usage of dXSUB_SYS, esp. in ExtUtils::Miniperl
From: Chip Salzenberg <chip@perl.com>
Files: dosish.h minimod.pl os2/os2ish.h plan9/plan9ish.h vms/vmsish.h
CORE LANGUAGE CHANGES
Subject: Refine setgroups() behavior of C<$)>
From: Chip Salzenberg <chip@perl.com>
Files: mg.c pod/perldelta.pod pod/perlvar.pod
Subject: Forbid -[Mm] on #! line
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod pod/perldiag.pod toke.c
CORE PORTABILITY
Subject: Special mkdir() for VMS
Date: Tue, 08 Apr 1997 12:33:56 -0400 (EDT)
From: Charles Bailey <bailey@hmivax.humgen.upenn.edu>
Files: dosish.h lib/ExtUtils/MM_Unix.pm lib/File/Path.pm os2/os2ish.h plan9/plan9ish.h pp_sys.c unixish.h vms/vms.c vms/vmsish.h
Msg-ID: 01IHGOXN6MZM0004K3@hmivax.humgen.upenn.edu
(applied based on p5p patch as commit ebec1d4b2ca9c08d24035a369c7aa782aa058e66)
DOCUMENTATION
Subject: IO::Socket doc fix
Date: Tue, 08 Apr 1997 15:30:43 -0400
From: Roderick Schertler <roderick@argon.org>
Files: ext/IO/lib/IO/Socket.pm
Msg-ID: 28383.860527843@eeyore.ibcinc.com
(applied based on p5p patch as commit 4a51304ce091cb6d1ccc9f25e11753bd7d985b32)
LIBRARY AND EXTENSIONS
Subject: Replace Class::Template with improved Class::Struct
From: Jim Miner <jfm@winternet.com>
Files: MANIFEST lib/Class/Struct.pm 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 pod/perldelta.pod pod/perlfaq7.pod pod/perlmod.pod pod/perltoot.pod
Subject: MakeMaker pathname patch
Date: Wed, 9 Apr 1997 20:08:23 +0100
From: Nick Ing-Simmons <nik@tiuk.ti.com>
Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
Msg-ID: 199704091908.UAA00877@ni-s.u-net.com
(applied based on p5p patch as commit 9cbbd68ff8edc7de96e3471de49538d0b2b98173)
Subject: Fix configuration of new socket
From: Chip Salzenberg <chip@perl.com>
Files: ext/IO/lib/IO/Socket.pm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CORE LANGUAGE CHANGES
Subject: Strictly follow lexical context of C<eval ''> and nested subs
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Make ::SUPER and UNIVERSAL work together
From: Chip Salzenberg <chip@perl.com>
Files: gv.c pod/perlguts.pod
CORE PORTABILITY
Subject: OS/2 patches
Date: Wed, 5 Mar 1997 22:08:43 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: hints/os2.sh lib/ExtUtils/MakeMaker.pm t/op/taint.t
Msg-ID: 199703060308.WAA22211@monk.mps.ohio-state.edu
(applied based on p5p patch as commit eda4d5189d403b15f244b4696a710fb91d15053e)
Subject: VMS patches
Date: Wed, 05 Mar 1997 23:10:24 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Manifest.pm perlsdio.h t/op/runlevel.t t/op/taint.t vms/descrip.mms vms/perly_c.vms vms/sockadapt.c vms/sockadapt.h vms/vms_yfix.pl
private-msgid: 01IG5SQE4A6U00661G@hmivax.humgen.upenn.edu
DOCUMENTATION
Subject: Add taint checks and srand to perldelta
Date: Sun, 2 Mar 1997 11:56:08 -0800 (PST)
From: Tom Phoenix <rootbeer@teleport.com>
Files: pod/perldelta.pod
Msg-ID: Pine.GSO.3.95q.970302115355.23058D-100000@kelly.teleport.com
(applied based on p5p patch as commit b28e0bc0aa3232e18d1bacb3efcbfb755ad100e0)
Subject: Don't call FileHandle 'deprecated'
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod
Subject: Improve sample module header
Date: Sat, 01 Mar 1997 10:32:31 -0700
From: Tom Christiansen <tchrist@jhereg.perl.com>
Files: pod/perlmod.pod
Msg-ID: 199703011732.KAA14693@jhereg.perl.com
(applied based on p5p patch as commit 3e1e15658152387f41e00ded4796cede4e1e10d3)
Subject: Update list of CPAN sites
Date: Sun, 2 Mar 1997 16:54:22 +0200 (EET)
From: Jarkko Hietaniemi <jhi@iki.fi>
Files: pod/perlmod.pod
Msg-ID: 199703021454.QAA07446@alpha.hut.fi
(applied based on p5p patch as commit 9423903e60e6c92c1893f5f4cab2476f403f8a4b)
Subject: Enhance description of 'server error'
Date: Tue, 4 Feb 1997 21:03:23 +0200 (EET)
From: Jarkko Hietaniemi <jhi@cc.hut.fi>
Files: pod/perldiag.pod
private-msgid: 199702041903.VAA16070@alpha.hut.fi
Subject: Regularize format of E-Mail addresses in *.pod
From: Chip Salzenberg <chip@perl.com>
Files: pod/*.pod
LIBRARY AND EXTENSIONS
Subject: Use IV instead of double for tms structure members
From: Chip Salzenberg <chip@perl.com>
Files: ext/POSIX/POSIX.xs
OTHER CORE CHANGES
Subject: Make sure $^X is tainted when ARG_ZERO_IS_SCRIPT
From: Chip Salzenberg <chip@perl.com>
Files: toke.c
Subject: Clarify '-T too late' error
From: Chip Salzenberg <chip@perl.com>
Files: perl.c pod/perldiag.pod
Subject: Warn when redefining or undefining a constant sub
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldiag.pod pp.c sv.c
Subject: Don't generate spurious 'not imported' warning
From: Chip Salzenberg <chip@perl.com>
Files: gv.c t/pragma/strict-vars pod/perldiag.pod
Subject: Clarify message re: @host in string
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldiag.pod pod/perltrap.pod toke.c
Subject: Disconnect refs that are targets of pp_readline
From: Chip Salzenberg <chip@perl.com>
Files: pp_hot.c
Subject: Fix typo in test of HvFILL()
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Allow for pad name array to be shorter than pad array
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Eliminate format-string type warnings
Date: Mon, 3 Mar 1997 10:15:11 +0100 (MET)
From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
Files: doio.c ext/POSIX/POSIX.xs gv.c hints/dec_osf.sh pp.c pp_ctl.c pp_hot.c run.c sv.c x2p/a2py.c
private-msgid: 199703030915.KAA11634@bombur2.uio.no
Subject: Update copyright dates
From: Chip Salzenberg <chip@perl.com>
Files: *.[hc] x2p/*.[hc] win32/EXTERN.h vms/vmsish.h vms/vms.c
TESTS
Subject: Smarter t/op/taint.t
Date: Mon, 3 Mar 1997 10:31:54 -0800 (PST)
From: Tom Phoenix <rootbeer@teleport.com>
Files: t/op/taint.t
private-msgid: Pine.GSO.3.95q.970303103047.24000A-100000@kelly.teleport.com
Subject: Fix taint test for systems without csh
From: Chip Salzenberg <chip@perl.com>
Files: t/op/taint.t
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CORE LANGUAGE CHANGES
Subject: Don't let C<sub foo;> undefine &foo
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Make code, doc agree on $ENV{PATH} and `cmd`
From: Chip Salzenberg <chip@perl.com>
Files: pod/perlsec.pod pp_sys.c
Subject: Optimize keys() and values() in void context
From: Chip Salzenberg <chip@perl.com>
Files: doop.c op.c
CORE PORTABILITY
Subject: VMS patches post _27
Date: Thu, 20 Feb 1997 01:58:46 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: MANIFEST dosish.h hv.c lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp perl.c perlsdio.h pod/perldelta.pod pod/perlvar.pod t/op/closure.t unixish.h vms/Makefile vms/descrip.mms vms/ext/filespec.t vms/genconfig.pl vms/vms.c vms/vmsish.h
private-msgid: <01IFMEMPN1IU0057E2@hmivax.humgen.upenn.edu>
Subject: Re: OS/2 patch for _27
Date: Thu, 20 Feb 1997 19:24:16 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: INSTALL README.os2 lib/Test/Harness.pm os2/Changes os2/OS2/PrfDB/t/os2_prfdb.t os2/os2.c os2/os2ish.h os2/perl2cmd.pl perl.c pod/perldelta.pod t/TEST t/harness t/op/magic.t
Msg-ID: <199702210024.TAA03174@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit 833d3f255ed68b969f062cec63d33f853ed9237c)
DOCUMENTATION
Subject: INSTALL updates since _26
Date: Tue, 18 Feb 1997 16:00:08 -0500 (EST)
From: Andy Dougherty <doughera@fractal.phys.lafayette.edu>
Files: INSTALL
Msg-ID: <Pine.SOL.3.95q.970218155815.2014F-100000@fractal.lafayette.e
(applied based on p5p patch as commit a8247d96fd6167a3b920e63aedee5592cd6e29a7)
Subject: Document "$$0" change
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod
Subject: Don't recommend impossible //o for C<$x =~ $y>
From: Chip Salzenberg <chip@perl.com>
Files: pod/perlop.pod
Subject: Correct doc that claimed that <FH> was never false
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod pod/perlop.pod
Subject: Document C<$?> vs. $SIG{CHLD}
From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
Files: pod/perlvar.pod
Subject: Add pumpkin.pod
From: Chip Salzenberg <chip@perl.com>
Files: MANIFEST Porting/pumpkin.pod
Subject: Don't say "associat*ve arr*y"
From: Chip Salzenberg <chip@perl.com>
Files: MANIFEST gv.h hv.c lib/Env.pm lib/overload.pm opcode.pl pod/perl.pod pod/perldelta.pod pod/perldiag.pod pod/perlfunc.pod pod/perlguts.pod pod/perlmod.pod pod/perltie.pod pod/perltoc.pod pod/perltrap.pod x2p/a2p.pod
OTHER CORE CHANGES
Subject: Fix a typo
From: Chip Salzenberg <chip@perl.com>
Files: pp_sys.c
Subject: Fix perl_call_sv(..., G_NOARGS)
From: Chip Salzenberg <chip@perl.com>
Files: perl.c
Subject: Fix SIGSEGV when cloning sub with complex expression
From: Chip Salzenberg <chip@perl.com>
Files: op.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CORE LANGUAGE CHANGES
Subject: Make \r in script an error (per Larry)
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldiag.pod toke.c
CORE PORTABILITY
Subject: VMS patches post _25
Date: Fri, 07 Feb 1997 01:56:12 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: Porting/Glossary lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp perl.c vms/Makefile vms/config.vms vms/descrip.mms vms/genconfig.pl vms/perlvms.pod vms/vms.c vms/vmsish.h x2p/a2p.c
private-msgid: <01IF48W3P39W0050BD@hmivax.humgen.upenn.edu>
LIBRARY AND EXTENSIONS
Subject: Make diagnostics module strip formatting directives
From: Chip Salzenberg <chip@perl.com>
Files: lib/diagnostics.pm pod/perldiag.pod
OTHER CORE CHANGES
Subject: Fix (yet another) Tk closure problem
From: Chip Salzenberg <chip@perl.com>
Files: op.c perl.c pp_ctl.c
Subject: Fix value of C<foreach>
From: Chip Salzenberg <chip@perl.com>
Files: cop.h pp_ctl.c
Subject: Refine 'runaway string' heuristic
From: Chip Salzenberg <chip@perl.com>
Files: toke.c
Subject: Fix core dump on C<print "a", last> in eval
From: Chip Salzenberg <chip@perl.com>
Files: pp_ctl.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CORE LANGUAGE CHANGES
Subject: Make $] read-only
From: Chip Salzenberg <chip@perl.com>
Files: gv.c
Subject: New variable C<$^S> is a native version of C<$?>
From: Chip Salzenberg <chip@perl.com>
Files: doio.c global.sym gv.c interp.sym lib/English.pm mg.c perl.c perl.h pod/perldelta.pod pod/perlfunc.pod pod/perlvar.pod pp_ctl.c pp_sys.c proto.h util.c
Subject: Make $^T work with undump, and don't taint it
From: Chip Salzenberg <chip@perl.com>
Files: perl.c
CORE PORTABILITY
Subject: VMS patches for _24
Date: Fri, 31 Jan 1997 02:34:37 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: ext/DynaLoader/DynaLoader.pm ext/DynaLoader/dl_vms.xs lib/AutoSplit.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MakeMaker.pm perl.h pp_hot.c t/lib/filehand.t t/op/closure.t vms/Makefile vms/config.vms vms/descrip.mms vms/ext/filespec.t vms/vms.c vms/vmsish.h
private-msgid: <01IEUIFP5038004GQP@hmivax.humgen.upenn.edu>
DOCUMENTATION
Subject: Document how extension pms go in $archlib
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod
Subject: perlfunc.pod tweaks
Date: Thu, 30 Jan 1997 16:20:55 -0500
From: Roderick Schertler <roderick@gate.net>
Files: pod/perlfunc.pod
private-msgid: <20526.854659255@eeyore.ibcinc.com>
Subject: Error lines must not have trailing periods
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldiag.pod
LIBRARY AND EXTENSIONS
Subject: Make IO::Handle::gets() an alias of getline
Date: Thu, 30 Jan 1997 12:03:15 +0100
From: Gisle Aas <aas@bergen.sn.no>
Files: ext/IO/lib/IO/Handle.pm lib/IO/Handle.pm
private-msgid: <199701301103.MAA11291@bergen.sn.no>
OTHER CORE CHANGES
Subject: Require '-T' in argv[], not just on #! line
From: Chip Salzenberg <chip@perl.com>
Files: perl.c pod/perldiag.pod
Subject: Fix C<return @_> and associated stack bugs
From: Chip Salzenberg <chip@perl.com>
Files: cop.h pp_ctl.c pp_hot.c t/op/misc.t
Subject: Fix never-closing handle after C<select>
From: Chip Salzenberg <chip@perl.com>
Files: pp_sys.c
Subject: Fix /\G/g with patterns that match empty string
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pp_hot.c
Subject: Don't create AV, HV, IO when assigning glob
From: Chip Salzenberg <chip@perl.com>
Files: mg.c
TESTS
Subject: More Amiga test patches
Date: Wed, 29 Jan 1997 16:07:33 +0100
From: "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
Files: README.amiga t/lib/safe2.t t/op/closure.t
private-msgid: <77724725@Armageddon.meb.uni-bonn.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUILD PROCESS
Subject: Make configure.gnu a copy of configure; make configure writea
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST configure.gnu
Subject: Regen Configure with metaconfig: +ARCHNAME, -FILE_filbuf
From: Chip Salzenberg <chip@perl.com>
Files: Configure config_H config_h.SH hints/lynxos.sh os2/diff.configure os2/os2ish.h plan9/config.plan9 sv.c utils/perlbug.PL vms/config.vms vms/fndvers.com
Subject: Compile with optimization when testing memory functions
From: Chip Salzenberg <chip@atlantic.net>
Files: Configure
CORE LANGUAGE CHANGES
Subject: Disallow changing $_[0] in __DIE__ handlers
From: Chip Salzenberg <chip@atlantic.net>
Files: pod/perlfunc.pod util.c
Subject: Fix overloading with inheritance and AUTOLOAD
Date: Mon, 20 Jan 1997 17:26:32 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: gv.c lib/diagnostics.pm lib/overload.pm pod/perldebug.pod pod/perldiag.pod pod/perlfunc.pod pod/perlop.pod pod/perlre.pod pod/perltoc.pod pod/perlxs.pod
Msg-ID: <199701202226.RAA05072@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit e7ea3e70155d0bea30720ba41eb6bb6742aac0d1)
Subject: Nested here-docs
Date: Mon, 20 Jan 1997 15:13:42 -0800
From: Larry Wall <larry@wall.org>
Files: toke.c
Msg-ID: <199701202313.PAA11693@wall.org>
(applied based on p5p patch as commit fd2d0953290ddd46f0820dbd6c87245486b7ab28)
Subject: Revert $^X to old behavior (plus HP-UX bug fix)
From: Chip Salzenberg <chip@atlantic.net>
Files: hints/hpux.sh toke.c
Subject: Protect against '0' in 'stmt while <HANDLE>'
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c
Subject: Don't warn when closure uses var at file scope
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c
CORE PORTABILITY
Subject: VMS patches for _22
Date: Mon, 20 Jan 1997 22:50:21 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: ext/POSIX/POSIX.xs lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp lib/Test/Harness.pm toke.c vms/Makefile vms/descrip.mms vms/genconfig.pl vms/perly_c.vms vms/vmsish.h x2p/a2p.h vms/Makefile vms/config.vms vms/descrip.mms vms/perly_c.vms
private-msgid: <01IEGBJ2TMYS003PCL@hmivax.humgen.upenn.edu>
Subject: Plan9 update
From: Luther Huffman <lutherh@stratcom.com>
Files: plan9/config.plan9 plan9/mkfile
Subject: hints & Configure changes to build perl on DC/OSx
Date: Thu, 16 Jan 1997 16:43:52 -0800
From: Stephen Zander <stephen.zander@interlock.mckesson.com>
Files: Configure MANIFEST hints/dcosx.sh
Msg-ID: <199701170043.QAA25985@wsbip1.mckesson.com>
(applied based on p5p patch as commit 23f8769697279d7912be5943de9fdf93f6aa3013)
DOCUMENTATION
Subject: Additional docs for __DIE__ and __WARN__
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pod/perlfunc.pod pod/perlrun.pod pod/perlvar.pod
Subject: Document #line directive
Date: Fri, 24 Jan 1997 04:08:44 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pod/perlsyn.pod pod/perltoc.pod
private-msgid: <199701240908.EAA23846@aatma.engin.umich.edu>
Subject: delta for perldelta
Date: Fri, 24 Jan 1997 07:57:43 -0800
From: Tom Christiansen <tchrist@mox.perl.com>
Files: pod/perlnews.pod pod/perltoc.pod
private-msgid: <804.854121463@jinete>
Subject: Updates to perldelta
Date: Mon, 20 Jan 1997 06:48:49 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perlnews.pod pod/perltoc.pod
private-msgid: <199701211610.LAA06227@monk.mps.ohio-state.edu>
Subject: perlnews.pod diff for the Fcntl
Date: Tue, 21 Jan 1997 18:00:56 +0200 (EET)
From: Jarkko Hietaniemi <jhi@cc.hut.fi>
Files: pod/perlnews.pod
private-msgid: <199701211600.SAA30117@alpha.hut.fi>
Subject: Rename perlnews -> perldelta per Tom's request
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod pod/perldelta.pod pod/perltoc.pod pod/roffitall
LIBRARY AND EXTENSIONS
Subject: Refresh IO to 1.15 (plus DESTROY and new_tmpfile fixes)
From: Chip Salzenberg <chip@atlantic.net>
Files: ext/IO/lib/IO/File.pm ext/IO/lib/IO/Handle.pm ext/IO/lib/IO/Pipe.pm ext/IO/lib/IO/Seekable.pm ext/IO/lib/IO/Socket.pm t/lib/io_pipe.t
Subject: Allow IO.xs to remain at 1.15 while $VERSION is 1.1501
From: Chip Salzenberg <chip@atlantic.net>
Files: XSUB.h ext/IO/Makefile.PL ext/IO/lib/IO/Handle.pm
Subject: Add E* and SA_* constants
Date: Wed, 22 Jan 1997 21:36:07 -0500
From: Roderick Schertler <roderick@gate.net>
Files: ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs
private-msgid: <23338.853986967@eeyore.ibcinc.com>
OTHER CORE CHANGES
Subject: Make PERL5LIB and -I work like C<use lib>
Date: Thu, 23 Jan 1997 15:23:27 +0000
From: Tim Bunce <Tim.Bunce@ig.co.uk>
Files: lib/lib.pm perl.c
private-msgid: <9701231523.AA26613@toad.ig.co.uk>
Subject: Fix /\G.a/
From: Chip Salzenberg <chip@atlantic.net>
Files: regcomp.c regcomp.h regexec.c regexp.h toke.c
Subject: Extend stack in pp_undef (!)
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c
Subject: Allow for sub to be redefined while executing
From: Chip Salzenberg <chip@atlantic.net>
Files: cop.h pp_hot.c t/op/misc.t
Subject: Eliminate redundant flag CVf_FORMAT
From: Chip Salzenberg <chip@atlantic.net>
Files: cv.h op.c perl.c perly.c perly.y proto.h sv.c toke.c
Subject: Generate IVs when possible in abs() and int()
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c
Subject: Efficiency patchlet for pp_aassign()
Date: Mon, 20 Jan 1997 22:05:39 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pp_hot.c
Msg-ID: <199701210305.WAA05451@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit 7e42bd57a6867e174bc3bc555c3268b485940a98)
Subject: Remove "suidperl security patch" message
From: Chip Salzenberg <chip@atlantic.net>
Files: perl.c
TESTS
Subject: Fix tests of $^X and $0 to work with QNX
From: Chip Salzenberg <chip@atlantic.net>
Files: t/lib/io_pipe.t t/lib/open2.t t/lib/open3.t t/op/magic.t
Subject: Patch tests for systems without fork()
Date: Thu, 23 Jan 1997 23:51:28 +0100
From: "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
Files: t/io/pipe.t t/lib/filehand.t t/lib/io_pipe.t t/lib/io_sock.t t/lib/open2.t t/lib/open3.t t/op/fork.t
private-msgid: <77724697@Armageddon.meb.uni-bonn.de>
Subject: Test patches for OS/2
Date: Thu, 16 Jan 1997 23:48:18 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: os2/OS2/ExtAttr/t/os2_ea.t os2/OS2/PrfDB/t/os2_prfdb.t os2/OS2/REXX/t/rx_cmprt.t os2/OS2/REXX/t/rx_dllld.t os2/OS2/REXX/t/rx_objcall.t os2/OS2/REXX/t/rx_sql.test os2/OS2/REXX/t/rx_tiesql.test os2/OS2/REXX/t/rx_tievar.t os2/OS2/REXX/t/rx_tieydb.t os2/OS2/REXX/t/rx_varset.t os2/OS2/REXX/t/rx_vrexx.t t/README t/cmd/while.t t/comp/colon.t t/comp/multiline.t t/io/argv.t t/lib/anydbm.t t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t t/op/cmp.t t/op/magic.t
Msg-ID: <199701170448.XAA28948@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit bbad36071d5a6d4be3588f0f10c88247439076d8)
UTILITIES
Subject: Translate \200 to È in pod2html
From: Chip Salzenberg <chip@atlantic.net>
Files: pod/pod2html.PL
Subject: VMS patches: '.com' extension on scripts
Date: Fri, 24 Jan 1997 18:42:29 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: pod/checkpods.PL pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL utils/c2ph.PL utils/h2ph.PL utils/h2xs.PL utils/perlbug.PL utils/perldoc.PL utils/pl2pm.PL utils/splain.PL vms/Makefile vms/descrip.mms x2p/find2perl.PL x2p/s2p.PL
private-msgid: <01IELNPDLYJM003E7J@hmivax.humgen.upenn.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUILD PROCESS
Subject: Make MachTen hints file warn about db-recno failures
Date: Wed, 8 Jan 1997 12:07:18 +0100
From: Dominic Dunlop <domo@slipper.ip.lu>
Files: hints/machten.sh
Msg-ID: <v03010d00aef92fba6aca@[194.51.248.78]>
(applied based on p5p patch as commit a4c70ab8da3ec1d87c83e5c617f4550814ec1724)
Subject: 5.003_20, FreeBSD 3.0 and minor patch
Date: Wed, 8 Jan 1997 14:37:47 +0100
From: Ollivier Robert <roberto@eurocontrol.fr>
Files: Configure
Msg-ID: <Mutt.19970108143747.roberto@caerdonn.eurocontrol.fr>
(applied based on p5p patch as commit 50e0d465254be88fb90ac23584812a529741b4b1)
CORE LANGUAGE CHANGES
Subject: Fix overloading via inherited autoloaded functions
Date: Mon, 13 Jan 1997 05:22:47 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: gv.c lib/overload.pm pod/perldiag.pod t/pragma/overload.t
Msg-ID: <199701131022.FAA22830@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit a9bc755754f0db5e848e65dfd2e63a96af50ffd4)
Subject: Method call fixes: Don't cache in alias, don't skip undef
From: Chip Salzenberg <chip@atlantic.net>
Files: global.sym gv.c gv.h hv.c op.c pod/perlguts.pod pod/perltoc.pod pp.c pp_ctl.c pp_hot.c proto.h scope.c sv.c t/op/method.t
Subject: Formats can be closures
From: Chip Salzenberg <chip@atlantic.net>
Files: cv.h op.c perly.c perly.c.diff perly.y pp_sys.c sv.h
Subject: Quote 'foo' in C<$x{-foo}>
From: Chip Salzenberg <chip@atlantic.net>
Files: toke.c
Subject: Forbid C< x->{y} > and C< x->[0] > under C<strict refs>
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c pod/perldiag.pod t/pragma/strict-refs
Subject: Allow <=> to return undef when operands are not ordered
From: Chip Salzenberg <chip@perl.com>
Files: MANIFEST pp.c t/op/cmp.t
CORE PORTABILITY
Subject: Re: Perl 5.003_20: OS/2 patches
Date: Fri, 10 Jan 1997 06:02:16 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: hints/os2.sh os2/Changes os2/os2.c os2/os2ish.h pp_sys.c
Msg-ID: <199701101102.GAA19051@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit 9a3e71f668bd84b1cf53dd3ea10f588d59ecfebb)
Subject: VMS patches for _20
Date: Tue, 14 Jan 1997 17:34:43 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: configpm dosish.h os2/os2ish.h plan9/plan9ish.h proto.h t/pragma/strict.t t/pragma/subs.t t/pragma/warning.t toke.c unixish.h vms/Makefile vms/config.vms vms/descrip.mms vms/genconfig.pl vms/perly_c.vms vms/test.com vms/vmsish.h x2p/a2p.h x2p/str.c
private-msgid: <01IE7MGK7ULQ003K5M@hmivax.humgen.upenn.edu>
Subject: Irix 6.3 & 6.4 and perl5.003_20
Date: Mon, 13 Jan 1997 17:42:50 -0500 (EST)
From: John Stoffel <jfs@fluent.com>
Files: MANIFEST hints/irix_6_3.sh hints/irix_6_4.sh
Msg-ID: <199701132242.RAA14601@jfs.Fluent.COM>
(applied based on p5p patch as commit 8a1e91d771b51ae31eed1ac5944c63934213fb07)
Subject: Patch: MachTen hints, Configure
Date: Tue, 14 Jan 1997 13:43:13 +0100
From: Dominic Dunlop <domo@slipper.ip.lu>
Files: Configure hints/machten.sh
private-msgid: <v03010d00af0123a93670@[194.51.248.75]>
Subject: Rename aux.sh to aux_3.sh for MS-LOSS
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST hints/aux_3.sh
DOCUMENTATION
Subject: Full documentation generation patch
Date: Wed, 15 Jan 97 11:16:28 +0100
From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
Files: MANIFEST pod/roffitall pod/rofftoc
Msg-ID: <15309.853323388@lyon.grenoble.hp.com>
(applied based on p5p patch as commit a3270a1d7469cab9221ab0050a0e6695bd0047d8)
Subject: Document use of pos() and /\G/
Date: Mon, 13 Jan 1997 15:13:12 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pod/perlfunc.pod pod/perlnews.pod pod/perlop.pod pod/perlre.pod pod/perltoc.pod pod/perltrap.pod
Msg-ID: <199701132013.PAA26606@aatma.engin.umich.edu>
(applied based on p5p patch as commit b2a07c1c241ec86f010fc0ea3bfa54c8ec28be90)
Subject: Document new closure warnings
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c pod/perldiag.pod
Subject: Misc. doc patches missing in _20
Date: Tue, 07 Jan 1997 22:55:33 -0500
From: Roderick Schertler <roderick@gate.net>
Files: pod/perlsub.pod pod/perltoc.pod pod/perlvar.pod
Msg-ID: <102.852695733@eeyore.ibcinc.com>
(applied based on p5p patch as commit b88f04ff2985d0899964b90ae56789d88f6b353e)
LIBRARY AND EXTENSIONS
Subject: Localize info about filesystems being case-forgiving
From: Chip Salzenberg <chip@atlantic.net>
Files: lib/File/Basename.pm pod/checkpods.PL pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL utils/c2ph.PL utils/h2ph.PL utils/h2xs.PL utils/perlbug.PL utils/perldoc.PL utils/pl2pm.PL utils/splain.PL x2p/find2perl.PL x2p/s2p.PL
Subject: Eliminate warning from C<use overload>
From: Chip Salzenberg <chip@atlantic.net>
Files: lib/overload.pm
OTHER CORE CHANGES
Subject: Fix C< eval { my $x; eval '$x' } >
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c t/op/misc.t
Subject: Don't warn if eval '' uses outer func's lexicals
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c
Subject: Avoid memory wastage in wait(); make pidstatus global
From: Chip Salzenberg <chip@atlantic.net>
Files: global.sym interp.sym perl.c perl.h pp_sys.c
Subject: Forbid ++ and -- on readonly values
Date: Fri, 10 Jan 1997 19:47:16 -0800 (PST)
From: "John Q. Linux" <jql@accessone.com>
Files: pp.c pp_hot.c
Msg-ID: <Pine.LNX.3.95.970110193330.11249D-100000@jql.accessone.com>
(applied based on p5p patch as commit 74c80e585086695d5428ab316ca82fd6931aeabd)
Subject: Keep array from dying during foreach(@array)
From: Chip Salzenberg <chip@atlantic.net>
Files: cop.h pp_ctl.c
Subject: Fix C< $a="simple"; split /($a)/o >
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c t/op/misc.t
Subject: Fix for anon-lists with tied entries coredump
Date: Fri, 10 Jan 1997 02:45:11 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pp.c
Msg-ID: <199701100745.CAA13057@aatma.engin.umich.edu>
(applied based on p5p patch as commit d976ac8220f8890bb7663152c4870f60e8e018c8)
Subject: Don't set SVf_PADBUSY on immortal SVs
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c
Subject: Patch for Object subroutines
Date: Tue, 7 Jan 1997 20:56:02 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: cop.h
Msg-ID: <199701080156.UAA15366@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit 174150afa5efdafc0e94a18211d3c9aa06b15cd9)
Subject: Use an SVt_PVLV to hold stacked OP pointers when debugging
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c pp_hot.c
Subject: Undo change that freed large pad vars
From: Chip Salzenberg <chip@atlantic.net>
Files: scope.c
TESTS
Subject: UNIVERSAL tests
From: Roderick Schertler <roderick@gate.net>
Files: MANIFEST t/op/universal.t
Subject: Test deletion of array during foreach
From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
Files: t/op/misc.t
UTILITIES
Subject: Don't search for pod if path is already valid
Date: Wed, 08 Jan 1997 15:25:19 -0800
From: Wayne Scott <wscott@ichips.intel.com>
Files: utils/perldoc.PL
Msg-ID: <199701082325.PAA04521@pdxlx008.intel.com>
(applied based on p5p patch as commit 88f0eda82bb679b4e6445ccb17e18d0781c6a5da)
Subject: Yet another perldoc option
Date: Thu, 3 Oct 1996 00:00:35 +0200
From: Gisle Aas <aas@aas.no>
Files: utils/perldoc.PL
Msg-ID: <199610022200.AAA15334@furubotn.sn.no>
(applied based on p5p patch as commit a2333f3625faa17fb193cfa25c3d598cb59f105f)
Subject: Re: perldoc, temp files, async pagers
Date: 07 Jan 1997 22:54:14 -0500
From: Roderick Schertler <roderick@gate.net>
Files: utils/perldoc.PL
Msg-ID: <pzwwtoom8p.fsf@eeyore.ibcinc.com>
(applied based on p5p patch as commit 7c36043de26da560a0f7eb04f36d232762c0092c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CORE LANGUAGE CHANGES
Subject: Support C<delete @hash{@keys}>
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c op.h opcode.pl pod/perldiag.pod pod/perlfunc.pod pp.c t/op/delete.t
Subject: Autovivify scalars
From: Chip Salzenberg <chip@atlantic.net>
Files: dump.c op.c op.h pp.c pp_hot.c
DOCUMENTATION
Subject: Update pods: perldelta -> perlnews, perli18n -> perllocale
From: Tom Christiansen <tchrist@perl.com>
Files: MANIFEST pod/perl.pod pod/perldelta.pod pod/perli18n.pod pod/perlnews.pod
Subject: perltoot.pod
Date: Mon, 09 Dec 1996 07:44:10 -0700
From: Tom Christiansen <tchrist@mox.perl.com>
Files: MANIFEST pod/perltoot.pod
Msg-ID: <199612091444.HAA09947@toy.perl.com>
(applied based on p5p patch as commit 32e22efaa9ec59b73a208b6c532a0b435e2c6462)
Subject: Perlguts, version 25
Date: Fri, 6 Dec 96 11:40:27 PST
From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
Files: pod/perlguts.pod
private-msgid: <199612061940.AA055461228@hpcc123.corp.hp.com>
Subject: pod patches for English errors
Date: Mon, 09 Dec 1996 13:33:11 -0800
From: Steve Kelem <steve.kelem@xilinx.com>
Files: pod/*.pod
Msg-ID: <24616.850167191@castor>
(applied based on p5p patch as commit 0135f10892ed8a21c4dbd1fca21fbcc365df99dd)
Subject: Misc doc updates
Date: Sat, 14 Dec 1996 18:56:33 -0700
From: Tom Christiansen <tchrist@mox.perl.com>
Files: pod/*
Subject: Re: perldelta.pod
Here are some diffs to the _11 pods. I forgot to add perldelta to
perl.pod though.
And *PLEASE* fix the Artistic License so it no longer has the bogus
"whomever" misdeclined in the nominative case:
under the copyright of this Package, but belong to whomever generated
them, and may be sold commercially, and may be aggregated with this
It should obviously be "whoever".
p5p-msgid: <199612150156.SAA12506@mox.perl.com>
OTHER CORE CHANGES
Subject: Allow assignment to empty array values during foreach()
From: Chip Salzenberg <chip@atlantic.net>
Files: cop.h global.sym mg.c op.c perl.h pp_hot.c proto.h sv.c
Subject: Fix nested closures
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c opcode.pl pp.c pp_ctl.c pp_hot.c
Subject: Fix core dump on auto-vivification
From: Chip Salzenberg <chip@atlantic.net>
Files: pp_hot.c
Subject: Fix core dump on C<open $undef_var, "X">
From: Chip Salzenberg <chip@atlantic.net>
Files: pp_sys.c
Subject: Fix -T/-B on globs and globrefs
From: Chip Salzenberg <chip@atlantic.net>
Files: pp_sys.c
Subject: Fix memory management of $`, $&, and $'
From: Chip Salzenberg <chip@atlantic.net>
Files: pp_hot.c regexec.c
Subject: Fix paren matching during backtracking
From: Chip Salzenberg <chip@atlantic.net>
Files: regexec.c
Subject: Fix memory leak and std{in,out,err} death in perl_{con,de}str
From: Chip Salzenberg <chip@atlantic.net>
Files: miniperlmain.c perl.c perl.h sv.c
Subject: Discard garbage bytes at end of prototype()
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c
Subject: Fix local($pack::{foo})
From: Chip Salzenberg <chip@atlantic.net>
Files: global.sym pp.c pp_hot.c proto.h scope.c
Subject: Disable warn, die, and parse hooks _before_ global destruction
From: Chip Salzenberg <chip@atlantic.net>
Files: perl.c
Subject: Re: Bug in formline
Date: Sun, 08 Dec 1996 14:58:32 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pp_ctl.c
Msg-ID: <199612081958.OAA26025@aatma.engin.umich.edu>
(applied based on p5p patch as commit b386bda18108ba86d0b76ebe2d8745eafa80f39e)
Subject: Fix C<@a = ($a,$b,$c,$d) = (1,2)>
From: Chip Salzenberg <chip@atlantic.net>
Files: pp_hot.c
Subject: Properly support and document newRV{,_inc,_noinc}
From: Chip Salzenberg <chip@atlantic.net>
Files: global.sym pod/perlguts.pod sv.c sv.h
Subject: Allow lvalue pos inside recursive function
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c pp.c pp_ctl.c pp_hot.c
PORTABILITY
Subject: Make $privlib contents compatible with 5.003
From: Chip Salzenberg <chip@atlantic.net>
Files: INSTALL ext/Opcode/Safe.pm installperl lib/FileHandle.pm lib/Test/Harness.pm
Subject: Support $bincompat3 config variable; update metaconfig units
From: Chip Salzenberg <chip@atlantic.net>
Files: Configure MANIFEST compat3.sym config_h.SH embed.pl global.sym old_embed.pl old_global.sym old_perl_exp.SH perl_exp.SH
Subject: Look for gettimeofday() in Configure
Date: Wed, 11 Dec 1996 15:49:57 +0100
From: John Hughes <john@AtlanTech.COM>
Files: Configure config_H config_h.SH pp.c
Subject: perl5.003_11, Should base use of gettimeofday on HAS_GETTIMEOFDAY, not I_SYS_TIME
I've been installing perl5.003_11 on a SCO system that has the TCP/IP runtime
installed but not the TCP/IP development system.
Unfortunately the <sys/time.h> include file is included in the TCP/IP runtime
while libsocket.a is in the development system.
This means that pp.c decides to use "gettimeofday" because <sys/time.h> is
present but I can't link the perl that gets compiled.
So, here's a patch to base the use of "gettimeofday" on "HAS_GETTIMEOFDAY"
instead of "I_SYS_TIME". I also took the liberty of removing the special
case for plan9 (I assume plan9 has <sys/time.h> but no gettimeofday. Am I
right?).
p5p-msgid: <01BBE77A.F6F37F80@malvinas.AtlanTech.COM>
Subject: Make $startperl a relative path if people want portable scrip
From: Chip Salzenberg <chip@atlantic.net>
Files: Configure
Subject: Homogenize use of "eval exec" hack
From: Chip Salzenberg <chip@atlantic.net>
Files: Porting/Glossary eg/README eg/nih eg/sysvipc/ipcmsg eg/sysvipc/ipcsem eg/sysvipc/ipcshm lib/diagnostics.pm makeaperl.SH pod/checkpods.PL pod/perlrun.pod pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL utils/c2ph.PL utils/h2ph.PL utils/h2xs.PL utils/perlbug.PL utils/perldoc.PL utils/pl2pm.PL x2p/a2py.c x2p/find2perl.PL x2p/s2p.PL
Subject: LynxOS support
Date: Thu, 12 Dec 1996 09:25:00 PST
From: Greg Seibert <seibert@Lynx.COM>
Files: Configure MANIFEST hints/lynxos.sh t/op/stat.t
Msg-ID: <m0vYEsY-0000IZC@kzinti.lynx.com>
(applied based on p5p patch as commit 6693373533b15e559fd8f0f1877e5e6ec15483cc)
Subject: Re: db-recno.t failures with _11 on Freebsd 2.1-stable
Date: 11 Dec 1996 18:58:56 -0500
From: Roderick Schertler <roderick@gate.net>
Files: INSTALL hints/freebsd.sh
Msg-ID: <pzohg0r5tr.fsf@eeyore.ibcinc.com>
(applied based on p5p patch as commit 10e40321ee752c58e3407b204c74c8049894cb51)
Subject: VMS patches to 5.003_11
Date: Mon, 09 Dec 1996 23:16:10 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: MANIFEST regexec.c t/lib/filehand.t util.c vms/*
private-msgid: <01ICTR32LCZG001A1D@hmivax.humgen.upenn.edu>
TESTING
Subject: recurse recurse recurse ...
Date: Mon, 9 Dec 1996 23:44:27 +0200 (EET)
From: Jarkko Hietaniemi <jhi@cc.hut.fi>
Files: MANIFEST t/op/recurse.t
private-msgid: <199612092144.XAA29025@alpha.hut.fi>
UTILITIES, LIBRARY, AND EXTENSIONS
Subject: Add CPAN and Net::FTP
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm lib/Net/FTP.pm lib/Net/Netrc.pm lib/Net/Socket.pm pod/perlmod.pod
Subject: Add File::Compare
Date: Mon, 16 Dec 1996 18:44:59 GMT
From: Nick Ing-Simmons <nik@tiuk.ti.com>
Files: MANIFEST lib/File/Compare.pm pod/perlmod.pod
Msg-ID: <199612161844.SAA02152@pluto>
(applied based on p5p patch as commit ec971c5c328aca84fb827f69f2cc1dc3be81f830)
Subject: Add Tie::RefHash
Date: Sun, 15 Dec 1996 18:58:08 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: MANIFEST lib/Tie/RefHash.pm pod/perlmod.pod
Msg-ID: <199612152358.SAA28665@aatma.engin.umich.edu>
(applied based on p5p patch as commit 9a079709134ebbf4c935cc8752fdb564e5c82b94)
Subject: Put "splain" in utils.
From: Chip Salzenberg <chip@atlantic.net>
Files: Makefile.SH installperl utils/Makefile utils/splain.PL
Subject: Some h2ph fixes
Date: Fri, 13 Dec 1996 11:34:12 -0800
From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
Files: utils/h2ph.PL
Here is a message regarding changes to h2ph that should probably be folded
into the 5.004 release.
p5p-msgid: <199612131934.AA289845652@hpcc123.corp.hp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|