summaryrefslogtreecommitdiff
path: root/gv.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-05-15 22:08:17 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-05-15 22:08:17 +0000
commit067391eacdcfc760b09b573f48f90fa54dd5e5b4 (patch)
treee225817b0272d845808b0b431b4e955f5c05b979 /gv.c
parent260452b9b0b56211c0d71678d25e8f8376d772e7 (diff)
downloadperl-067391eacdcfc760b09b573f48f90fa54dd5e5b4.tar.gz
[win32] merge change#981 from maintbranch, add XXX comment about
supporting %! for usethreads case p4raw-link: @981 on //depot/maint-5.004/perl: 46d9186cfa8aceca37f3cc539b5e08e8f8b72412 p4raw-id: //depot/win32/perl@994
Diffstat (limited to 'gv.c')
-rw-r--r--gv.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/gv.c b/gv.c
index 94d4a7e6fe..5d65d60e64 100644
--- a/gv.c
+++ b/gv.c
@@ -709,13 +709,28 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type)
#endif
goto magicalize;
+ case '!':
+ if(len > 1)
+ break;
+ if(sv_type == SVt_PVHV) {
+ HV* stash = gv_stashpvn("Errno",5,FALSE);
+ if(!stash || !(gv_fetchmethod(stash, "TIEHASH"))) {
+ dSP;
+ PUTBACK;
+ perl_require_pv("Errno.pm");
+ SPAGAIN;
+ stash = gv_stashpvn("Errno",5,FALSE);
+ if (!stash || !(gv_fetchmethod(stash, "TIEHASH")))
+ croak("%! is not avaliable on this machine");
+ }
+ }
+ goto magicalize;
case '#':
case '*':
if (dowarn && len == 1 && sv_type == SVt_PV)
warn("Use of $%s is deprecated", name);
/* FALL THROUGH */
case '[':
- case '!':
case '^':
case '~':
case '=':