Re: [PATCH] length() on magic capture variables
Ævar Arnfjörð Bjarmason [Mon, 9 Apr 2007 22:02:42 +0000 (22:02 +0000)]
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Message-ID: <51dd1af80704091502m19130c28y29e6e656516fabfd@mail.gmail.com>

p4raw-id: //depot/perl@30881

t/op/pat.t

index 6d3cafd..5512b2b 100755 (executable)
@@ -4411,11 +4411,23 @@ ok($@=~/\QSequence \k... not terminated in regex;\E/);
     iseq( (join ",", sort map "@$_", values %-), ",a" );
 }
 
+# length() on captures, these end up in Perl_magic_len
+{
+    my $_ = "aoeu \xe6var ook";
+    /^ \w+ \s (?<eek>\S+)/x;
+
+    iseq( length($`), 4, 'length $`' );
+    iseq( length($'), 4, q[length $'] );
+    iseq( length($&), 9, 'length $&' );
+    iseq( length($1), 4, 'length $1' );
+    iseq( length($+{eek}), 4, 'length $+{eek} == length $1' );
+}
+
 # Put new tests above the dotted line about a page above this comment
 iseq(0+$::test,$::TestCount,"Got the right number of tests!");
 # Don't forget to update this!
 BEGIN {
-    $::TestCount = 1658;
+    $::TestCount = 1663;
     print "1..$::TestCount\n";
 }