diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-10-02 03:45:37 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-10-02 03:45:37 +0000 |
commit | 4eb79ab512b1332d593701ae7f01c47eac3323b4 (patch) | |
tree | a23c2de7fc23aaa46f1c2883368bd1ca84e80a5b | |
parent | 17feb5d536e7c1a1b75d6e8e85a12d67b3d41c04 (diff) | |
download | perl-4eb79ab512b1332d593701ae7f01c47eac3323b4.tar.gz |
make warning about glob process failure optional
p4raw-id: //depot/perl@1912
-rw-r--r-- | pod/perldiag.pod | 23 | ||||
-rw-r--r-- | pp_hot.c | 8 |
2 files changed, 19 insertions, 12 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 08c73c3284..8ccb16b94b 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1417,16 +1417,19 @@ and execute the specified command. (P) Something went badly wrong in the regular expression parser. -=item internal error: glob failed - -(P) Something went wrong with the external program(s) used for C<glob> -and C<E<lt>*.cE<gt>>. This may mean that your csh (C shell) is -broken. If so, you should change all of the csh-related variables in -config.sh: If you have tcsh, make the variables refer to it as if it -were csh (e.g. C<full_csh='/usr/bin/tcsh'>); otherwise, make them all -empty (except that C<d_csh> should be C<'undef'>) so that Perl will -think csh is missing. In either case, after editing config.sh, run -C<./Configure -S> and rebuild Perl. +=item glob failed (%s) + +(W) Something went wrong with the external program(s) used for C<glob> +and C<E<lt>*.cE<gt>>. Usually, this means that you supplied a C<glob> +pattern that caused the external program to fail and exit with a nonzero +status. If the message indicates that the abnormal exit resulted in a +coredump, this may also mean that your csh (C shell) is broken. If so, +you should change all of the csh-related variables in config.sh: If you +have tcsh, make the variables refer to it as if it were csh (e.g. +C<full_csh='/usr/bin/tcsh'>); otherwise, make them all empty (except that +C<d_csh> should be C<'undef'>) so that Perl will think csh is missing. +In either case, after editing config.sh, run C<./Configure -S> and +rebuild Perl. =item internal urp in regexp at /%s/ @@ -1258,8 +1258,12 @@ do_readline(void) IoFLAGS(io) |= IOf_START; } else if (type == OP_GLOB) { - if (!do_close(PL_last_in_gv, FALSE)) - warn("internal error: glob failed"); + if (!do_close(PL_last_in_gv, FALSE) && ckWARN(WARN_CLOSED)) { + warner(WARN_CLOSED, + "glob failed (child exited with status %d%s)", + STATUS_CURRENT >> 8, + (STATUS_CURRENT & 0xFF) ? ", core dumped" : ""); + } } if (gimme == G_SCALAR) { (void)SvOK_off(TARG); |