(via private mail)
Charles Bailey [Sat, 5 Sep 1998 01:23:58 +0000 (21:23 -0400)]
Message-id: <01J1FH7R43NS002F14@cor.newman.upenn.edu>
Subject: [Patch 5.005_02] Miscellaneous VMS cleanup

p4raw-id: //depot/perl@1837

29 files changed:
Changes
Changes5.005
README.vms
ext/DynaLoader/dl_vms.xs
lib/Cwd.pm
lib/ExtUtils/MM_VMS.pm
lib/ExtUtils/MakeMaker.pm
lib/ExtUtils/Mksymlists.pm
lib/File/Copy.pm
lib/File/Path.pm
lib/File/Spec.pm
pod/perldiag.pod
pod/perlfaq1.pod
pod/perlport.pod
pod/perlrun.pod
vms/ext/DCLsym/0README.txt
vms/ext/DCLsym/DCLsym.pm
vms/ext/DCLsym/DCLsym.xs
vms/ext/Filespec.pm
vms/ext/XSSymSet.pm
vms/gen_shrfls.pl
vms/mms2make.pl
vms/perly_c.vms
vms/sockadapt.c
vms/sockadapt.h
vms/test.com
vms/vms.c
vms/vms_yfix.pl
vms/writemain.pl

diff --git a/Changes b/Changes
index e6a2ede..3f75620 100644 (file)
--- a/Changes
+++ b/Changes
@@ -49,7 +49,7 @@ current addresses (as of July 1998):
 
 And the Keepers of the Patch Pumpkin:
 
-    Charles Bailey      <bailey@hmivax.humgen.upenn.edu>
+    Charles Bailey      <bailey@newman.upenn.edu>
     Malcolm Beattie     <mbeattie@sable.ox.ac.uk>
     Tim Bunce           <Tim.Bunce@ig.co.uk>
     Andy Dougherty      <doughera@lafcol.lafayette.edu>
index 325ffeb..4980250 100644 (file)
@@ -49,7 +49,7 @@ current addresses (as of July 1998):
 
 And the Keepers of the Patch Pumpkin:
 
-    Charles Bailey      <bailey@hmivax.humgen.upenn.edu>
+    Charles Bailey      <bailey@newman.upenn.edu>
     Malcolm Beattie     <mbeattie@sable.ox.ac.uk>
     Tim Bunce           <Tim.Bunce@ig.co.uk>
     Andy Dougherty      <doughera@lafcol.lafayette.edu>
index 1d83518..ea0d0f2 100644 (file)
@@ -214,26 +214,26 @@ DEFINE/NOLOG PERLSHR PERL_ROOT:[000000]PERLSHR.EXE
 or copy perl_root:[000000]perlshr.exe sys$share:.
 
 5) Optionally define the command PERLDOC as 
-PERLDOC :== "$PERL_ROOT:[000000]PERL PERL_ROOT:[LIB.POD]PERLDOC.COM -t"
+PERLDOC == "$PERL_ROOT:[000000]PERL PERL_ROOT:[LIB.POD]PERLDOC.COM -t"
 Note that if you wish to use most as a pager please see
 ftp://space.mit.edu/pub/davis/ for both most and slang (or perhaps
 ftp://ftp.wku.edu/vms/narnia/most.zip ).
 
 6) Optionally define the command PERLBUG (the Perl bug report generator) as
-PERLBUG :== "$PERL_ROOT:[000000]PERL PERL_ROOT:[LIB]PERLBUG.COM"
+PERLBUG == "$PERL_ROOT:[000000]PERL PERL_ROOT:[LIB]PERLBUG.COM"
 
 7) Optionally define the command POD2MAN (Converts POD files to nroff
 source suitable for converting to man pages. Also quiets complaints during
 module builds) as
 
 DEFINE/NOLOG POD2MAN PERL_ROOT:[LIB.POD]POD2MAN.COM
-POD2MAN :== "$PERL_ROOT:[000000]PERL POD2MAN"
+POD2MAN == "$PERL_ROOT:[000000]PERL POD2MAN"
 
 8) Optionally define the command POD2TEXT (Converts POD files to text,
 which is required for perldoc -f to work properly) as
 
 DEFINE/NOLOG POD2TEXT PERL_ROOT:[LIB.POD]POD2TEXT.COM
-POD2TEXT :== "$PERL_ROOT:[000000]PERL POD2TEXT"
+POD2TEXT == "$PERL_ROOT:[000000]PERL POD2TEXT"
 
 In all these cases, if you've got PERL defined as a foreign command, you
 can replace $PERL_ROOT:[000000]PERL with ''perl'. If you've installed perl
index 974fd58..08fd2f3 100644 (file)
@@ -1,7 +1,7 @@
 /* dl_vms.xs
  * 
  * Platform:  OpenVMS, VAX or AXP
- * Author:    Charles Bailey  bailey@genetics.upenn.edu
+ * Author:    Charles Bailey  bailey@newman.upenn.edu
  * Revised:   12-Dec-1994
  *
  *                           Implementation Note
index 7febb0d..72937e2 100644 (file)
@@ -269,7 +269,7 @@ sub fast_abs_path {
 # --- PORTING SECTION ---
 
 # VMS: $ENV{'DEFAULT'} points to default directory at all times
-# 06-Mar-1996  Charles Bailey  bailey@genetics.upenn.edu
+# 06-Mar-1996  Charles Bailey  bailey@newman.upenn.edu
 # Note: Use of Cwd::chdir() causes the logical name PWD to be defined
 #   in the process logical name table as the default device and directory
 #   seen by Perl. This may not be the same as the default device
index d7e59c2..51cedc0 100644 (file)
@@ -3,7 +3,7 @@
 #   This package is inserted into @ISA of MakeMaker's MM before the
 #   built-in ExtUtils::MM_Unix methods if MakeMaker.pm is run under VMS.
 #
-#   Author:  Charles Bailey  bailey@genetics.upenn.edu
+#   Author:  Charles Bailey  bailey@newman.upenn.edu
 
 package ExtUtils::MM_VMS;
 
index 5b7bb0b..3e17be1 100644 (file)
@@ -1925,7 +1925,7 @@ ExtUtils::Install, ExtUtils::Embed
 
 Andy Dougherty <F<doughera@lafcol.lafayette.edu>>, Andreas KE<ouml>nig
 <F<A.Koenig@franz.ww.TU-Berlin.DE>>, Tim Bunce <F<Tim.Bunce@ig.co.uk>>.
-VMS support by Charles Bailey <F<bailey@genetics.upenn.edu>>.  OS/2
+VMS support by Charles Bailey <F<bailey@newman.upenn.edu>>.  OS/2
 support by Ilya Zakharevich <F<ilya@math.ohio-state.edu>>.  Contact the
 makemaker mailing list C<mailto:makemaker@franz.ww.tu-berlin.de>, if
 you have any questions.
index 0b92ca0..bad353e 100644 (file)
@@ -269,7 +269,7 @@ can be used to provide additional information to the linker.
 
 =head1 AUTHOR
 
-Charles Bailey I<E<lt>bailey@genetics.upenn.eduE<gt>>
+Charles Bailey I<E<lt>bailey@newman.upenn.eduE<gt>>
 
 =head1 REVISION
 
index d0b3c89..ce1fbd7 100644 (file)
@@ -336,7 +336,7 @@ $! will be set if an error was encountered.
 =head1 AUTHOR
 
 File::Copy was written by Aaron Sherman I<E<lt>ajs@ajs.comE<gt>> in 1995,
-and updated by Charles Bailey I<E<lt>bailey@genetics.upenn.eduE<gt>> in 1996.
+and updated by Charles Bailey I<E<lt>bailey@newman.upenn.eduE<gt>> in 1996.
 
 =cut
 
index 39f1ba1..09c52a4 100644 (file)
@@ -88,7 +88,7 @@ in situations where security is an issue.
 =head1 AUTHORS
 
 Tim Bunce <F<Tim.Bunce@ig.co.uk>> and
-Charles Bailey <F<bailey@genetics.upenn.edu>>
+Charles Bailey <F<bailey@newman.upenn.edu>>
 
 =head1 REVISION
 
index 5f3dbf5..67b6703 100644 (file)
@@ -106,7 +106,7 @@ File::Spec::VMS, ExtUtils::MakeMaker
 Kenneth Albanowski <F<kjahds@kjahds.com>>, Andy Dougherty
 <F<doughera@lafcol.lafayette.edu>>, Andreas KE<ouml>nig
 <F<A.Koenig@franz.ww.TU-Berlin.DE>>, Tim Bunce <F<Tim.Bunce@ig.co.uk>>. VMS
-support by Charles Bailey <F<bailey@genetics.upenn.edu>>.  OS/2 support by
+support by Charles Bailey <F<bailey@newman.upenn.edu>>.  OS/2 support by
 Ilya Zakharevich <F<ilya@math.ohio-state.edu>>. Mac support by Paul Schinder
 <F<schinder@pobox.com>>.
 
index 20cae6c..f1810b3 100644 (file)
@@ -1258,7 +1258,6 @@ Did you forget to check the return value of your socket() call?
 (S) A warning peculiar to VMS.  The call to C<sys$getuai> underlying the
 C<getpwnam> operator returned an invalid UIC.
 
-
 =item Glob not terminated
 
 (F) The lexer saw a left angle bracket in a place where it was expecting
@@ -1703,6 +1702,14 @@ an attempt to close an unopened filehandle.
 (W) You specified a signal name as a subscript to %SIG that was not recognized.
 Say C<kill -l> in your shell to see the valid signal names on your system.
 
+=item no UTC offset information; assuming local time is UTC
+
+(S) A warning peculiar to VMS.  Per was unable to find the local
+timezone offset, so it's assuming that local system time is equivalent
+to UTC.  If it's not, define the logical name F<SYS$TIMEZONE_DIFFERENTIAL>
+to translate to the number of seconds which need to be added to UTC to
+get local time.
+
 =item Not a CODE reference
 
 (F) Perl was trying to evaluate a reference to a code value (that is, a
@@ -2037,7 +2044,7 @@ anyway?  See L<perlfunc/require>.
 
 (F) The setuid emulator in suidperl decided you were up to no good.
 
-=item pid %d not a child
+=item pid %x not a child
 
 (W) A warning peculiar to VMS.  Waitpid() was asked to wait for a process which
 isn't a subprocess of the current process.  While this is fine from VMS'
index 5a95f19..c6d53b3 100644 (file)
@@ -36,7 +36,7 @@ In particular, the core development team (known as the Perl
 Porters) are a rag-tag band of highly altruistic individuals
 committed to producing better software for free than you
 could hope to purchase for money.  You may snoop on pending
-developments via news://genetics.upenn.edu/perl.porters-gw/ and
+developments via news://news.perl.com/perl.porters-gw/ and
 http://www.frii.com/~gnat/perl/porters/summary.html.
 
 While the GNU project includes Perl in its distributions, there's no
index 0b9d054..4ff2482 100644 (file)
@@ -1429,7 +1429,7 @@ First public release with perl5.005.
 =head1 AUTHORS / CONTRIBUTORS
 
 Abigail E<lt>abigail@fnx.comE<gt>,
-Charles Bailey E<lt>bailey@genetics.upenn.eduE<gt>,
+Charles Bailey E<lt>bailey@newman.upenn.eduE<gt>,
 Graham Barr E<lt>gbarr@pobox.comE<gt>,
 Tom Christiansen E<lt>tchrist@perl.comE<gt>,
 Nicholas Clark E<lt>Nicholas.Clark@liverpool.ac.ukE<gt>,
index a0c85b9..6ea5a1d 100644 (file)
@@ -129,6 +129,21 @@ and a Perl library file.
 Macintosh perl scripts will have the appropriate Creator and
 Type, so that double-clicking them will invoke the perl application.
 
+=item VMS
+
+Put
+
+    $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !
+    $ exit++ + ++$status != 0 and $exit = $status = undef;
+
+at the top of your script, where C<-mysw> are any command line switches you
+want to pass to Perl.  You can now invoke the script directly, by saying
+C<perl script>, or as a DCL procedure, by saying C<@script> (or implicitly
+via F<DCL$PATH> by just using the name of the script).
+
+This incantation is a bit much to remember, but Perl will display it for
+you if you say C<perl "-V:startperl">.
+
 =back
 
 Command-interpreters on non-Unix systems have rather different ideas
index 9dc721d..29f2bdb 100644 (file)
@@ -17,5 +17,5 @@ $ MMK install
 If you have any problems or suggestions, please feel free to let me know.
 
 Regards,
-Charles Bailey  bailey@genetics.upenn.edu
+Charles Bailey  bailey@newman.upenn.edu
 17-Aug-1995
index 44c4b84..7989cee 100644 (file)
@@ -256,7 +256,7 @@ version of this package.
 
 =head1 AUTHOR
 
-Charles Bailey  bailey@genetics.upenn.edu
+Charles Bailey  bailey@newman.upenn.edu
 
 =head1 VERSION
 
index 35cabc5..f0f19f4 100644 (file)
@@ -1,13 +1,13 @@
 /* VMS::DCLsym - manipulate DCL symbols
  *
  * Version:  1.0
- * Author:   Charles Bailey  bailey@genetics.upenn.edu
+ * Author:   Charles Bailey  bailey@newman.upenn.edu
  * Revised:  17-Aug-1995
  *
  *
  * Revision History:
  * 
- * 1.0  17-Aug-1995  Charles Bailey  bailey@genetics.upenn.edu
+ * 1.0  17-Aug-1995  Charles Bailey  bailey@newman.upenn.edu
  *      original production version
  */
 
index 4a539c2..375e962 100644 (file)
@@ -2,7 +2,7 @@
 #   of VMS and Unix file specification syntax.
 #
 #   Version:  1.1
-#   Author:   Charles Bailey  bailey@genetics.upenn.edu
+#   Author:   Charles Bailey  bailey@newman.upenn.edu
 #   Revised:  08-Mar-1995
 
 =head1 NAME
index 868a303..679ede4 100644 (file)
@@ -231,7 +231,7 @@ from this set.
 
 =head1 AUTHOR
 
-Charles Bailey  E<lt>I<bailey@genetics.upenn.edu>E<gt>
+Charles Bailey  E<lt>I<bailey@newman.upenn.edu>E<gt>
 
 =head1 REVISION
 
index 4302969..ac92374 100644 (file)
@@ -33,7 +33,7 @@
 #     library has everything old one did
 #     (i.e. /Define=DEBUGGING,EMBED,MULTIPLICITY)?
 #
-# Author: Charles Bailey  bailey@genetics.upenn.edu
+# Author: Charles Bailey  bailey@newman.upenn.edu
 
 require 5.000;
 
index 6b35e75..7795e4a 100644 (file)
@@ -4,7 +4,7 @@
 #  Version 2.2 29-Jan-1996
 #  David Denholm <denholm@conmat.phys.soton.ac.uk>
 #
-#  1.0  06-Aug-1994  Charles Bailey  bailey@genetics.upenn.edu
+#  1.0  06-Aug-1994  Charles Bailey  bailey@newman.upenn.edu
 #    - original version
 #  2.0  29-Sep-1994  David Denholm <denholm@conmat.phys.soton.ac.uk>
 #    - take action based on MMS .if / .else / .endif
@@ -16,9 +16,9 @@
 #      we deselect any other line if $conditions[0] is 0
 #      I'm being very lazy - push a 1 at start, then dont need to check for
 #      an empty @conditions [assume nesting in descrip.mms is correct] 
-#  2.1  26-Feb-1995  Charles Bailey  bailey@genetics.upenn.edu
+#  2.1  26-Feb-1995  Charles Bailey  bailey@newman.upenn.edu
 #    - handle MMS macros generated by MakeMaker
-#  2.2  29-Jan-1996  Charles Bailey  bailey@genetics.upenn.edu
+#  2.2  29-Jan-1996  Charles Bailey  bailey@newman.upenn.edu
 #    - Fix output file name to work under Unix
 
 if ($#ARGV > -1 && $ARGV[0] =~ /^[\-\/]trim/i) {
index 95e0dcc..12c8b4e 100644 (file)
@@ -22,7 +22,7 @@ dep(void)
 }
 #endif
 
-#line 16 "perly.c"
+#line 30 "perly.y"
 #define YYERRCODE 256
 dEXT short yylhs[] = {                                        -1,
    45,    0,    9,    7,   10,    8,   11,   11,   11,   12,
@@ -1281,11 +1281,13 @@ dEXT int yydebug;
 dEXT int yynerrs;
 dEXT int yyerrflag;
 dEXT int yychar;
+dEXT short *yyssp;
+dEXT YYSTYPE *yyvsp;
 dEXT YYSTYPE yyval;
 dEXT YYSTYPE yylval;
-#line 635 "perly.y"
+#line 643 "perly.y"
  /* PROGRAM */
-#line 1349 "perly.c"
+#line 1353 "perly.c"
 #define YYABORT goto yyabort
 #define YYACCEPT goto yyaccept
 #define YYERROR goto yyerrlab
@@ -1517,7 +1519,7 @@ yyreduce:
     switch (yyn)
     {
 case 1:
-#line 86 "perly.y"
+#line 94 "perly.y"
 {
 #if defined(YYDEBUG) && defined(DEBUGGING)
                    yydebug = (PL_debug & 1);
@@ -1526,50 +1528,50 @@ case 1:
                }
 break;
 case 2:
-#line 93 "perly.y"
+#line 101 "perly.y"
 { newPROG(yyvsp[0].opval); }
 break;
 case 3:
-#line 97 "perly.y"
+#line 105 "perly.y"
 { if (PL_copline > (line_t)yyvsp[-3].ival)
                              PL_copline = yyvsp[-3].ival;
                          yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
 break;
 case 4:
-#line 103 "perly.y"
+#line 111 "perly.y"
 { yyval.ival = block_start(TRUE); }
 break;
 case 5:
-#line 107 "perly.y"
+#line 115 "perly.y"
 { if (PL_copline > (line_t)yyvsp[-3].ival)
                              PL_copline = yyvsp[-3].ival;
                          yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
 break;
 case 6:
-#line 113 "perly.y"
+#line 121 "perly.y"
 { yyval.ival = block_start(FALSE); }
 break;
 case 7:
-#line 117 "perly.y"
+#line 125 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 8:
-#line 119 "perly.y"
+#line 127 "perly.y"
 { yyval.opval = yyvsp[-1].opval; }
 break;
 case 9:
-#line 121 "perly.y"
+#line 129 "perly.y"
 {   yyval.opval = append_list(OP_LINESEQ,
                                (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
                            PL_pad_reset_pending = TRUE;
                            if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
 break;
 case 10:
-#line 128 "perly.y"
+#line 136 "perly.y"
 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
 break;
 case 12:
-#line 131 "perly.y"
+#line 139 "perly.y"
 { if (yyvsp[-1].pval != Nullch) {
                              yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
                            }
@@ -1580,76 +1582,76 @@ case 12:
                            PL_expect = XSTATE; }
 break;
 case 13:
-#line 140 "perly.y"
+#line 148 "perly.y"
 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
                          PL_expect = XSTATE; }
 break;
 case 14:
-#line 145 "perly.y"
+#line 153 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 15:
-#line 147 "perly.y"
+#line 155 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 16:
-#line 149 "perly.y"
+#line 157 "perly.y"
 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
 break;
 case 17:
-#line 151 "perly.y"
+#line 159 "perly.y"
 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
 break;
 case 18:
-#line 153 "perly.y"
+#line 161 "perly.y"
 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
 break;
 case 19:
-#line 155 "perly.y"
+#line 163 "perly.y"
 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
 break;
 case 20:
-#line 157 "perly.y"
+#line 165 "perly.y"
 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
                                        Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
 break;
 case 21:
-#line 162 "perly.y"
+#line 170 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 22:
-#line 164 "perly.y"
+#line 172 "perly.y"
 { yyval.opval = scope(yyvsp[0].opval); }
 break;
 case 23:
-#line 166 "perly.y"
+#line 174 "perly.y"
 { PL_copline = yyvsp[-5].ival;
                            yyval.opval = newSTATEOP(0, Nullch,
                                   newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
                            PL_hints |= HINT_BLOCK_SCOPE; }
 break;
 case 24:
-#line 173 "perly.y"
+#line 181 "perly.y"
 { PL_copline = yyvsp[-6].ival;
                            yyval.opval = block_end(yyvsp[-4].ival,
                                   newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
 break;
 case 25:
-#line 177 "perly.y"
+#line 185 "perly.y"
 { PL_copline = yyvsp[-6].ival;
                            yyval.opval = block_end(yyvsp[-4].ival,
                                   newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
 break;
 case 26:
-#line 183 "perly.y"
+#line 191 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 27:
-#line 185 "perly.y"
+#line 193 "perly.y"
 { yyval.opval = scope(yyvsp[0].opval); }
 break;
 case 28:
-#line 189 "perly.y"
+#line 197 "perly.y"
 { PL_copline = yyvsp[-6].ival;
                            yyval.opval = block_end(yyvsp[-4].ival,
                                   newSTATEOP(0, yyvsp[-7].pval,
@@ -1657,7 +1659,7 @@ case 28:
                                                yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
 break;
 case 29:
-#line 195 "perly.y"
+#line 203 "perly.y"
 { PL_copline = yyvsp[-6].ival;
                            yyval.opval = block_end(yyvsp[-4].ival,
                                   newSTATEOP(0, yyvsp[-7].pval,
@@ -1665,23 +1667,23 @@ case 29:
                                                yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
 break;
 case 30:
-#line 201 "perly.y"
+#line 209 "perly.y"
 { yyval.opval = block_end(yyvsp[-6].ival,
                                 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
 break;
 case 31:
-#line 204 "perly.y"
+#line 212 "perly.y"
 { yyval.opval = block_end(yyvsp[-4].ival,
                                 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
                                          yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
 break;
 case 32:
-#line 208 "perly.y"
+#line 216 "perly.y"
 { yyval.opval = block_end(yyvsp[-4].ival,
                                 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
 break;
 case 33:
-#line 212 "perly.y"
+#line 220 "perly.y"
 { OP *forop = append_elem(OP_LINESEQ,
                                        scalar(yyvsp[-6].opval),
                                        newWHILEOP(0, 1, (LOOP*)Nullop,
@@ -1691,89 +1693,89 @@ case 33:
                          yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
 break;
 case 34:
-#line 220 "perly.y"
+#line 228 "perly.y"
 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
                                 newWHILEOP(0, 1, (LOOP*)Nullop,
                                            NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
 break;
 case 35:
-#line 226 "perly.y"
+#line 234 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 37:
-#line 231 "perly.y"
+#line 239 "perly.y"
 { (void)scan_num("1"); yyval.opval = yylval.opval; }
 break;
 case 39:
-#line 236 "perly.y"
+#line 244 "perly.y"
 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
 break;
 case 40:
-#line 240 "perly.y"
+#line 248 "perly.y"
 { yyval.opval = yyvsp[0].opval; intro_my(); }
 break;
 case 41:
-#line 244 "perly.y"
+#line 252 "perly.y"
 { yyval.opval = yyvsp[0].opval; intro_my(); }
 break;
 case 42:
-#line 248 "perly.y"
+#line 256 "perly.y"
 { yyval.opval = yyvsp[0].opval; intro_my(); }
 break;
 case 43:
-#line 252 "perly.y"
+#line 260 "perly.y"
 { yyval.opval = yyvsp[0].opval; intro_my(); }
 break;
 case 44:
-#line 256 "perly.y"
+#line 264 "perly.y"
 { yyval.pval = Nullch; }
 break;
 case 46:
-#line 261 "perly.y"
+#line 269 "perly.y"
 { yyval.ival = 0; }
 break;
 case 47:
-#line 263 "perly.y"
+#line 271 "perly.y"
 { yyval.ival = 0; }
 break;
 case 48:
-#line 265 "perly.y"
+#line 273 "perly.y"
 { yyval.ival = 0; }
 break;
 case 49:
-#line 267 "perly.y"
+#line 275 "perly.y"
 { yyval.ival = 0; }
 break;
 case 50:
-#line 271 "perly.y"
+#line 279 "perly.y"
 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
 break;
 case 51:
-#line 274 "perly.y"
+#line 282 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 52:
-#line 275 "perly.y"
+#line 283 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 53:
-#line 279 "perly.y"
+#line 287 "perly.y"
 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
 break;
 case 54:
-#line 283 "perly.y"
+#line 291 "perly.y"
 { yyval.ival = start_subparse(FALSE, 0); }
 break;
 case 55:
-#line 287 "perly.y"
+#line 295 "perly.y"
 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
 break;
 case 56:
-#line 291 "perly.y"
+#line 299 "perly.y"
 { yyval.ival = start_subparse(TRUE, 0); }
 break;
 case 57:
-#line 294 "perly.y"
+#line 302 "perly.y"
 { char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv, PL_na);
                          if (strEQ(name, "BEGIN") || strEQ(name, "END")
                              || strEQ(name, "INIT"))
@@ -1781,297 +1783,297 @@ case 57:
                          yyval.opval = yyvsp[0].opval; }
 break;
 case 58:
-#line 302 "perly.y"
+#line 310 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 60:
-#line 306 "perly.y"
+#line 314 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 61:
-#line 307 "perly.y"
+#line 315 "perly.y"
 { yyval.opval = Nullop; PL_expect = XSTATE; }
 break;
 case 62:
-#line 311 "perly.y"
+#line 319 "perly.y"
 { package(yyvsp[-1].opval); }
 break;
 case 63:
-#line 313 "perly.y"
+#line 321 "perly.y"
 { package(Nullop); }
 break;
 case 64:
-#line 317 "perly.y"
+#line 325 "perly.y"
 { CvUNIQUE_on(PL_compcv); /* It's a BEGIN {} */ }
 break;
 case 65:
-#line 319 "perly.y"
+#line 327 "perly.y"
 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
 break;
 case 66:
-#line 323 "perly.y"
+#line 331 "perly.y"
 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
 break;
 case 67:
-#line 325 "perly.y"
+#line 333 "perly.y"
 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
 break;
 case 69:
-#line 330 "perly.y"
+#line 338 "perly.y"
 { yyval.opval = yyvsp[-1].opval; }
 break;
 case 70:
-#line 332 "perly.y"
+#line 340 "perly.y"
 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
 break;
 case 72:
-#line 337 "perly.y"
+#line 345 "perly.y"
 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
                                prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
 break;
 case 73:
-#line 340 "perly.y"
+#line 348 "perly.y"
 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
                                prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
 break;
 case 74:
-#line 343 "perly.y"
+#line 351 "perly.y"
 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
                                append_elem(OP_LIST,
                                    prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
                                    newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
 break;
 case 75:
-#line 348 "perly.y"
+#line 356 "perly.y"
 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
                                append_elem(OP_LIST,
                                    prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
                                    newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
 break;
 case 76:
-#line 353 "perly.y"
+#line 361 "perly.y"
 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
                                append_elem(OP_LIST,
                                    prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
                                    newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
 break;
 case 77:
-#line 358 "perly.y"
+#line 366 "perly.y"
 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
 break;
 case 78:
-#line 360 "perly.y"
+#line 368 "perly.y"
 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
 break;
 case 79:
-#line 362 "perly.y"
+#line 370 "perly.y"
 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
 break;
 case 80:
-#line 364 "perly.y"
+#line 372 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
                                 append_elem(OP_LIST,
                                   prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
 break;
 case 83:
-#line 374 "perly.y"
+#line 382 "perly.y"
 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
 break;
 case 84:
-#line 376 "perly.y"
+#line 384 "perly.y"
 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
 break;
 case 85:
-#line 378 "perly.y"
+#line 386 "perly.y"
 {   if (yyvsp[-1].ival != OP_REPEAT)
                                scalar(yyvsp[-2].opval);
                            yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
 break;
 case 86:
-#line 382 "perly.y"
+#line 390 "perly.y"
 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
 break;
 case 87:
-#line 384 "perly.y"
+#line 392 "perly.y"
 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
 break;
 case 88:
-#line 386 "perly.y"
+#line 394 "perly.y"
 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
 break;
 case 89:
-#line 388 "perly.y"
+#line 396 "perly.y"
 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
 break;
 case 90:
-#line 390 "perly.y"
+#line 398 "perly.y"
 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
 break;
 case 91:
-#line 392 "perly.y"
+#line 400 "perly.y"
 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
 break;
 case 92:
-#line 394 "perly.y"
+#line 402 "perly.y"
 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
 break;
 case 93:
-#line 396 "perly.y"
+#line 404 "perly.y"
 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
 break;
 case 94:
-#line 398 "perly.y"
+#line 406 "perly.y"
 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
 break;
 case 95:
-#line 400 "perly.y"
+#line 408 "perly.y"
 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
 break;
 case 96:
-#line 402 "perly.y"
+#line 410 "perly.y"
 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
 break;
 case 97:
-#line 405 "perly.y"
+#line 413 "perly.y"
 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
 break;
 case 98:
-#line 407 "perly.y"
+#line 415 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 99:
-#line 409 "perly.y"
+#line 417 "perly.y"
 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
 break;
 case 100:
-#line 411 "perly.y"
+#line 419 "perly.y"
 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
 break;
 case 101:
-#line 413 "perly.y"
+#line 421 "perly.y"
 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
 break;
 case 102:
-#line 415 "perly.y"
+#line 423 "perly.y"
 { yyval.opval = newUNOP(OP_POSTINC, 0,
                                        mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
 break;
 case 103:
-#line 418 "perly.y"
+#line 426 "perly.y"
 { yyval.opval = newUNOP(OP_POSTDEC, 0,
                                        mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
 break;
 case 104:
-#line 421 "perly.y"
+#line 429 "perly.y"
 { yyval.opval = newUNOP(OP_PREINC, 0,
                                        mod(scalar(yyvsp[0].opval), OP_PREINC)); }
 break;
 case 105:
-#line 424 "perly.y"
+#line 432 "perly.y"
 { yyval.opval = newUNOP(OP_PREDEC, 0,
                                        mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
 break;
 case 106:
-#line 427 "perly.y"
+#line 435 "perly.y"
 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
 break;
 case 107:
-#line 429 "perly.y"
+#line 437 "perly.y"
 { yyval.opval = sawparens(yyvsp[-1].opval); }
 break;
 case 108:
-#line 431 "perly.y"
+#line 439 "perly.y"
 { yyval.opval = sawparens(newNULLLIST()); }
 break;
 case 109:
-#line 433 "perly.y"
+#line 441 "perly.y"
 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
 break;
 case 110:
-#line 435 "perly.y"
+#line 443 "perly.y"
 { yyval.opval = newANONLIST(Nullop); }
 break;
 case 111:
-#line 437 "perly.y"
+#line 445 "perly.y"
 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
 break;
 case 112:
-#line 439 "perly.y"
+#line 447 "perly.y"
 { yyval.opval = newANONHASH(Nullop); }
 break;
 case 113:
-#line 441 "perly.y"
+#line 449 "perly.y"
 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
 break;
 case 114:
-#line 443 "perly.y"
+#line 451 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 115:
-#line 445 "perly.y"
+#line 453 "perly.y"
 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
 break;
 case 116:
-#line 447 "perly.y"
+#line 455 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 117:
-#line 449 "perly.y"
+#line 457 "perly.y"
 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
 break;
 case 118:
-#line 451 "perly.y"
+#line 459 "perly.y"
 { yyval.opval = newBINOP(OP_AELEM, 0,
                                        ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
                                        scalar(yyvsp[-1].opval));}
 break;
 case 119:
-#line 455 "perly.y"
+#line 463 "perly.y"
 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
                                        ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
                                        scalar(yyvsp[-1].opval));}
 break;
 case 120:
-#line 459 "perly.y"
+#line 467 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 121:
-#line 461 "perly.y"
+#line 469 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 122:
-#line 463 "perly.y"
+#line 471 "perly.y"
 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
 break;
 case 123:
-#line 465 "perly.y"
+#line 473 "perly.y"
 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
                            PL_expect = XOPERATOR; }
 break;
 case 124:
-#line 468 "perly.y"
+#line 476 "perly.y"
 { yyval.opval = newBINOP(OP_HELEM, 0,
                                        ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
                                        jmaybe(yyvsp[-2].opval));
                            PL_expect = XOPERATOR; }
 break;
 case 125:
-#line 473 "perly.y"
+#line 481 "perly.y"
 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
                                        ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
                                        jmaybe(yyvsp[-2].opval));
                            PL_expect = XOPERATOR; }
 break;
 case 126:
-#line 478 "perly.y"
+#line 486 "perly.y"
 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
 break;
 case 127:
-#line 480 "perly.y"
+#line 488 "perly.y"
 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
 break;
 case 128:
-#line 482 "perly.y"
+#line 490 "perly.y"
 { yyval.opval = prepend_elem(OP_ASLICE,
                                newOP(OP_PUSHMARK, 0),
                                    newLISTOP(OP_ASLICE, 0,
@@ -2079,7 +2081,7 @@ case 128:
                                        ref(yyvsp[-3].opval, OP_ASLICE))); }
 break;
 case 129:
-#line 488 "perly.y"
+#line 496 "perly.y"
 { yyval.opval = prepend_elem(OP_HSLICE,
                                newOP(OP_PUSHMARK, 0),
                                    newLISTOP(OP_HSLICE, 0,
@@ -2088,37 +2090,37 @@ case 129:
                            PL_expect = XOPERATOR; }
 break;
 case 130:
-#line 495 "perly.y"
+#line 503 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 131:
-#line 497 "perly.y"
+#line 505 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
 break;
 case 132:
-#line 499 "perly.y"
+#line 507 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
 break;
 case 133:
-#line 501 "perly.y"
+#line 509 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
                            append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
 break;
 case 134:
-#line 504 "perly.y"
+#line 512 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
                            append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
 break;
 case 135:
-#line 507 "perly.y"
+#line 515 "perly.y"
 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
 break;
 case 136:
-#line 509 "perly.y"
+#line 517 "perly.y"
 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
 break;
 case 137:
-#line 511 "perly.y"
+#line 519 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB,
                            OPf_SPECIAL|OPf_STACKED,
                            prepend_elem(OP_LIST,
@@ -2128,7 +2130,7 @@ case 137:
                                )),Nullop)); dep();}
 break;
 case 138:
-#line 519 "perly.y"
+#line 527 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB,
                            OPf_SPECIAL|OPf_STACKED,
                            append_elem(OP_LIST,
@@ -2139,161 +2141,161 @@ case 138:
                                )))); dep();}
 break;
 case 139:
-#line 528 "perly.y"
+#line 536 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
                            prepend_elem(OP_LIST,
                                scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
 break;
 case 140:
-#line 532 "perly.y"
+#line 540 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
                            prepend_elem(OP_LIST,
                                yyvsp[-1].opval,
                                scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
 break;
 case 141:
-#line 537 "perly.y"
+#line 545 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
                                   newCVREF(0, scalar(yyvsp[-3].opval))); }
 break;
 case 142:
-#line 540 "perly.y"
+#line 548 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
                                   append_elem(OP_LIST, yyvsp[-1].opval,
                                       newCVREF(0, scalar(yyvsp[-4].opval)))); }
 break;
 case 143:
-#line 544 "perly.y"
+#line 552 "perly.y"
 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
                            PL_hints |= HINT_BLOCK_SCOPE; }
 break;
 case 144:
-#line 547 "perly.y"
+#line 555 "perly.y"
 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
 break;
 case 145:
-#line 549 "perly.y"
+#line 557 "perly.y"
 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
 break;
 case 146:
-#line 551 "perly.y"
+#line 559 "perly.y"
 { yyval.opval = newOP(yyvsp[0].ival, 0); }
 break;
 case 147:
-#line 553 "perly.y"
+#line 561 "perly.y"
 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
 break;
 case 148:
-#line 555 "perly.y"
+#line 563 "perly.y"
 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
 break;
 case 149:
-#line 557 "perly.y"
+#line 565 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
                            append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
 break;
 case 150:
-#line 560 "perly.y"
+#line 568 "perly.y"
 { yyval.opval = newOP(yyvsp[0].ival, 0); }
 break;
 case 151:
-#line 562 "perly.y"
+#line 570 "perly.y"
 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
 break;
 case 152:
-#line 564 "perly.y"
+#line 572 "perly.y"
 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
                                scalar(yyvsp[0].opval)); }
 break;
 case 153:
-#line 567 "perly.y"
+#line 575 "perly.y"
 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
 break;
 case 154:
-#line 569 "perly.y"
+#line 577 "perly.y"
 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
 break;
 case 155:
-#line 571 "perly.y"
+#line 579 "perly.y"
 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
 break;
 case 156:
-#line 573 "perly.y"
+#line 581 "perly.y"
 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
 break;
 case 159:
-#line 579 "perly.y"
+#line 587 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 160:
-#line 581 "perly.y"
+#line 589 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 161:
-#line 585 "perly.y"
+#line 593 "perly.y"
 { yyval.opval = Nullop; }
 break;
 case 162:
-#line 587 "perly.y"
+#line 595 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
 case 163:
-#line 589 "perly.y"
+#line 597 "perly.y"
 { yyval.opval = yyvsp[-1].opval; }
 break;
 case 164:
-#line 592 "perly.y"
+#line 600 "perly.y"
 { yyval.ival = 0; }
 break;
 case 165:
-#line 593 "perly.y"
+#line 601 "perly.y"
 { yyval.ival = 1; }
 break;
 case 166:
-#line 597 "perly.y"
+#line 605 "perly.y"
 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
 break;
 case 167:
-#line 601 "perly.y"
+#line 609 "perly.y"
 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
 break;
 case 168:
-#line 605 "perly.y"
+#line 613 "perly.y"
 { yyval.opval = newSVREF(yyvsp[0].opval); }
 break;
 case 169:
-#line 609 "perly.y"
+#line 617 "perly.y"
 { yyval.opval = newAVREF(yyvsp[0].opval); }
 break;
 case 170:
-#line 613 "perly.y"
+#line 621 "perly.y"
 { yyval.opval = newHVREF(yyvsp[0].opval); }
 break;
 case 171:
-#line 617 "perly.y"
+#line 625 "perly.y"
 { yyval.opval = newAVREF(yyvsp[0].opval); }
 break;
 case 172:
-#line 621 "perly.y"
+#line 629 "perly.y"
 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
 break;
 case 173:
-#line 625 "perly.y"
+#line 633 "perly.y"
 { yyval.opval = scalar(yyvsp[0].opval); }
 break;
 case 174:
-#line 627 "perly.y"
+#line 635 "perly.y"
 { yyval.opval = scalar(yyvsp[0].opval);  }
 break;
 case 175:
-#line 629 "perly.y"
+#line 637 "perly.y"
 { yyval.opval = scope(yyvsp[0].opval); }
 break;
 case 176:
-#line 632 "perly.y"
+#line 640 "perly.y"
 { yyval.opval = yyvsp[0].opval; }
 break;
-#line 2266 "perly.c"
+#line 2270 "perly.c"
     }
     yyssp -= yym;
     yystate = *yyssp;
index b63e4c9..b4a0534 100644 (file)
@@ -1,6 +1,6 @@
 /*  sockadapt.c
  *
- *  Author: Charles Bailey  bailey@genetics.upenn.edu
+ *  Author: Charles Bailey  bailey@newman.upenn.edu
  *  Last Revised:  4-Mar-1997
  *
  *  This file should contain stubs for any of the TCP/IP functions perl5
index 3e5daf3..e641b4d 100644 (file)
@@ -1,6 +1,6 @@
 /*  sockadapt.h
  *
- *  Authors: Charles Bailey  bailey@genetics.upenn.edu
+ *  Authors: Charles Bailey  bailey@newman.upenn.edu
  *           David Denholm  denholm@conmat.phys.soton.ac.uk
  *  Last Revised:  4-Mar-1997
  *
index 0e507dd..207aad9 100644 (file)
@@ -1,7 +1,7 @@
 $!  Test.Com - DCL driver for perl5 regression tests
 $!
 $!  Version 1.1   4-Dec-1995
-$!  Charles Bailey  bailey@genetics.upenn.edu
+$!  Charles Bailey  bailey@newman.upenn.edu
 $
 $!  A little basic setup
 $   On Error Then Goto wrapup
@@ -89,7 +89,7 @@ $   Define/User Perlshr Sys$Disk:[-]PerlShr'exe'
 $   MCR Sys$Disk:[]Perl. "-I[-.lib]" - "''p2'" "''p3'" "''p4'" "''p5'" "''p6'"
 $   Deck/Dollar=$$END-OF-TEST$$
 # $RCSfile: TEST,v $$Revision: 4.1 $$Date: 92/08/07 18:27:00 $
-# Modified for VMS 30-Sep-1994  Charles Bailey  bailey@genetics.upenn.edu
+# Modified for VMS 30-Sep-1994  Charles Bailey  bailey@newman.upenn.edu
 #
 # This is written in a peculiar style, since we're trying to avoid
 # most of the constructs we'll be testing for.
index e80a5ac..6bfbe3c 100644 (file)
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -768,7 +768,7 @@ my_waitpid(Pid_t pid, int *statusp, int flags)
         _ckvmssts(lib$getjpi(&ownercode,&pid,0,&ownerpid,0,0));
         _ckvmssts(lib$getjpi(&ownercode,0,0,&mypid,0,0));
         if (ownerpid != mypid)
-          warn("pid %d not a child",pid);
+          warn("pid %x not a child",pid);
       }
 
       _ckvmssts(sys$bintim(&intdsc,interval));
@@ -981,7 +981,7 @@ char *rmsexpand_ts(char *spec, char *buf, char *def, unsigned opt)
 **   tounixspec() - convert any file spec into a Unix-style file spec.
 **   tovmsspec() - convert any file spec into a VMS-style spec.
 **
-** Copyright 1996 by Charles Bailey  <bailey@genetics.upenn.edu>
+** Copyright 1996 by Charles Bailey  <bailey@newman.upenn.edu>
 ** Permission is given to distribute this code as part of the Perl
 ** standard distribution under the terms of the GNU General Public
 ** License or the Perl Artistic License.  Copies of each may be
@@ -1815,7 +1815,7 @@ char *tounixpath_ts(char *path, char *buf) { return do_tounixpath(path,buf,1); }
  *  gain.                                                                    *
  *                                                                           *
  *  27-Aug-1994 Modified for inclusion in perl5                              *
- *              by Charles Bailey  bailey@genetics.upenn.edu                 *
+ *              by Charles Bailey  bailey@newman.upenn.edu                   *
  *****************************************************************************
  */
 
@@ -2564,7 +2564,7 @@ trim_unixpath(char *fspec, char *wildspec, int opts)
  *  VMS readdir() routines.
  *  Written by Rich $alz, <rsalz@bbn.com> in August, 1990.
  *
- *  21-Jul-1994  Charles Bailey  bailey@genetics.upenn.edu
+ *  21-Jul-1994  Charles Bailey  bailey@newman.upenn.edu
  *  Minor modifications to original routines.
  */
 
@@ -3527,7 +3527,7 @@ static time_t toloc_dst(time_t utc) {
  * UTC support, since they also handle C<use vmsish qw(times);>
  *
  * Contributed by Chuck Lane  <lane@duphy4.physics.drexel.edu>
- * Modified by Charles Bailey <bailey@genetics.upenn.edu>
+ * Modified by Charles Bailey <bailey@newman.upenn.edu>
  */
 
 /*{{{time_t my_time(time_t *timep)*/
@@ -4223,7 +4223,7 @@ my_getlogin()
  *
  *  Returns 1 on success; returns 0 and sets errno and vaxc$errno on failure.
  *
- *  Copyright 1996 by Charles Bailey <bailey@genetics.upenn.edu>.
+ *  Copyright 1996 by Charles Bailey <bailey@newman.upenn.edu>.
  *  Incorporates, with permission, some code from EZCOPY by Tim Adye
  *  <T.J.Adye@rl.ac.uk>.  Permission is given to distribute this code
  * as part of the Perl standard distribution under the terms of the
index 08a8dbf..fbeb039 100644 (file)
@@ -6,7 +6,7 @@
 # If it finds that the input files are already patches for VMS,
 # it just copies the input to the output.
 #
-# Revised 20-Dec-1996 by Charles Bailey  bailey@genetics.upenn.edu
+# Revised 20-Dec-1996 by Charles Bailey  bailey@newman.upenn.edu
 
 $VERSION = '1.11';
 
index a502d61..6309107 100644 (file)
@@ -5,7 +5,7 @@
 # linker options file which causes the bootstrap routines for
 # these extension to be universal symbols in PerlShr.Exe.
 #
-# Last modified 29-Nov-1994 by Charles Bailey  bailey@genetics.upenn.edu
+# Last modified 29-Nov-1994 by Charles Bailey  bailey@newman.upenn.edu
 #
 
 if (-f 'miniperlmain.c') { $dir = ''; }