@@ -1852,10 +1852,10 @@ CODE:
18521852#ifdef SvVOK
18531853 SvGETMAGIC (sv );
18541854 ST (0 ) = boolSV (SvVOK (sv ));
1855- XSRETURN (1 );
18561855#else
1857- croak ( "vstrings are not implemented in this release of perl" );
1856+ ST ( 0 ) = boolSV ( 0 );
18581857#endif
1858+ XSRETURN (1 );
18591859
18601860SV *
18611861looks_like_number (sv )
@@ -1951,8 +1951,10 @@ PREINIT:
19511951 STRLEN namelen ;
19521952 const char * nameptr = SvPV (name , namelen );
19531953 int utf8flag = SvUTF8 (name );
1954+ #if PERL_VERSION_LT (5 , 41 , 3 ) || PERL_VERSION_GT (5 , 41 , 5 )
19541955 int quotes_seen = 0 ;
19551956 bool need_subst = FALSE;
1957+ #endif
19561958PPCODE :
19571959 if (!SvROK (sub ) && SvGMAGICAL (sub ))
19581960 mg_get (sub );
@@ -1975,18 +1977,23 @@ PPCODE:
19751977 if (s > nameptr && * s == ':' && s [-1 ] == ':' ) {
19761978 end = s - 1 ;
19771979 begin = ++ s ;
1980+ #if PERL_VERSION_LT (5 , 41 , 3 ) || PERL_VERSION_GT (5 , 41 , 5 )
19781981 if (quotes_seen )
19791982 need_subst = TRUE;
1983+ #endif
19801984 }
1985+ #if PERL_VERSION_LT (5 , 41 , 3 ) || PERL_VERSION_GT (5 , 41 , 5 )
19811986 else if (s > nameptr && * s != '\0' && s [-1 ] == '\'' ) {
19821987 end = s - 1 ;
19831988 begin = s ;
19841989 if (quotes_seen ++ )
19851990 need_subst = TRUE;
19861991 }
1992+ #endif
19871993 }
19881994 s -- ;
19891995 if (end ) {
1996+ #if PERL_VERSION_LT (5 , 41 , 3 ) || PERL_VERSION_GT (5 , 41 , 5 )
19901997 SV * tmp ;
19911998 if (need_subst ) {
19921999 STRLEN length = end - nameptr + quotes_seen - (* end == '\'' ? 1 : 0 );
@@ -2006,6 +2013,7 @@ PPCODE:
20062013 stash = gv_stashpvn (left , length , GV_ADD | utf8flag );
20072014 }
20082015 else
2016+ #endif
20092017 stash = gv_stashpvn (nameptr , end - nameptr , GV_ADD | utf8flag );
20102018 nameptr = begin ;
20112019 namelen -= begin - nameptr ;
@@ -2101,20 +2109,9 @@ BOOT:
21012109 HV * lu_stash = gv_stashpvn ("List::Util" , 10 , TRUE);
21022110 GV * rmcgv = * (GV * * )hv_fetch (lu_stash , "REAL_MULTICALL" , 14 , TRUE);
21032111 SV * rmcsv ;
2104- #if !defined(SvVOK )
2105- HV * su_stash = gv_stashpvn ("Scalar::Util" , 12 , TRUE);
2106- GV * vargv = * (GV * * )hv_fetch (su_stash , "EXPORT_FAIL" , 11 , TRUE);
2107- AV * varav ;
2108- if (SvTYPE (vargv ) != SVt_PVGV )
2109- gv_init (vargv , su_stash , "Scalar::Util" , 12 , TRUE);
2110- varav = GvAVn (vargv );
2111- #endif
21122112 if (SvTYPE (rmcgv ) != SVt_PVGV )
21132113 gv_init (rmcgv , lu_stash , "List::Util" , 10 , TRUE);
21142114 rmcsv = GvSVn (rmcgv );
2115- #ifndef SvVOK
2116- av_push (varav , newSVpv ("isvstring" ,9 ));
2117- #endif
21182115#ifdef REAL_MULTICALL
21192116 sv_setsv (rmcsv , & PL_sv_yes );
21202117#else
0 commit comments