summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2003-07-18 19:49:43 +0100
committerJarkko Hietaniemi <jhi@iki.fi>2003-07-24 13:04:24 +0000
commitbe65207d0b2b85c02537b6bafe56904f5103ed15 (patch)
tree7f635d2aa4c505592164fbbeb9fc3617fa1437a9 /sv.c
parentc6e79e554b8069d6810923749bcdc82256cfd522 (diff)
downloadperl-be65207d0b2b85c02537b6bafe56904f5103ed15.tar.gz
Re: Reference to tied elements results in lvalue.
Message-ID: <20030718174943.GB6427@fdgroup.com> p4raw-id: //depot/perl@20199
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/sv.c b/sv.c
index 251fd8ab49..542530d102 100644
--- a/sv.c
+++ b/sv.c
@@ -3087,7 +3087,11 @@ Perl_sv_2pv_flags(pTHX_ register SV *sv, STRLEN *lp, I32 flags)
s = "REF";
else
s = "SCALAR"; break;
- case SVt_PVLV: s = SvROK(sv) ? "REF":"LVALUE"; break;
+ case SVt_PVLV: s = SvROK(sv) ? "REF"
+ /* tied lvalues should appear to be
+ * scalars for backwards compatitbility */
+ : (LvTYPE(sv) == 't' || LvTYPE(sv) == 'T')
+ ? "SCALAR" : "LVALUE"; break;
case SVt_PVAV: s = "ARRAY"; break;
case SVt_PVHV: s = "HASH"; break;
case SVt_PVCV: s = "CODE"; break;
@@ -7846,7 +7850,12 @@ Perl_sv_reftype(pTHX_ SV *sv, int ob)
return "REF";
else
return "SCALAR";
- case SVt_PVLV: return SvROK(sv) ? "REF" : "LVALUE";
+
+ case SVt_PVLV: return SvROK(sv) ? "REF"
+ /* tied lvalues should appear to be
+ * scalars for backwards compatitbility */
+ : (LvTYPE(sv) == 't' || LvTYPE(sv) == 'T')
+ ? "SCALAR" : "LVALUE";
case SVt_PVAV: return "ARRAY";
case SVt_PVHV: return "HASH";
case SVt_PVCV: return "CODE";