summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--perl.h4
-rwxr-xr-xt/base/rs.t2
2 files changed, 3 insertions, 3 deletions
diff --git a/perl.h b/perl.h
index b09660a959..9def948bca 100644
--- a/perl.h
+++ b/perl.h
@@ -2379,8 +2379,8 @@ enum { /* pass one of these to get_vtbl */
/* Various states of an input record separator SV (rs, nrs) */
#define RsSNARF(sv) (! SvOK(sv))
-#define RsSIMPLE(sv) (SvOK(sv) && SvCUR(sv))
-#define RsPARA(sv) (SvOK(sv) && ! SvCUR(sv))
+#define RsSIMPLE(sv) (SvOK(sv) && (! SvPOK(sv) || SvCUR(sv)))
+#define RsPARA(sv) (SvPOK(sv) && ! SvCUR(sv))
#define RsRECORD(sv) (SvROK(sv) && (SvIV(SvRV(sv)) > 0))
/* Enable variables which are pointers to functions */
diff --git a/t/base/rs.t b/t/base/rs.t
index 52a957260f..07cc8fd447 100755
--- a/t/base/rs.t
+++ b/t/base/rs.t
@@ -24,7 +24,7 @@ $bar = <TESTFILE>;
if ($bar eq "12\n") {print "ok 2\n";} else {print "not ok 2\n";}
# Try a non line terminator
-$/ = "3";
+$/ = 3;
$bar = <TESTFILE>;
if ($bar eq "123") {print "ok 3\n";} else {print "not ok 3\n";}