This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Test that C<format 'Foo> is identical to C<format Foo>
authorBrian Fraser <fraserbn@gmail.com>
Tue, 26 Feb 2013 23:07:41 +0000 (20:07 -0300)
committerNicholas Clark <nick@ccl4.org>
Tue, 11 Jun 2013 13:03:46 +0000 (15:03 +0200)
When declaring a format, using a leading package separator requires careful
handling in the parser, to avoid confusion with a subroutine of the same
name.

t/comp/parser.t

index 7c0db7f..6002b3a 100644 (file)
@@ -3,7 +3,7 @@
 # Checks if the parser behaves correctly in edge cases
 # (including weird syntax errors)
 
-print "1..154\n";
+print "1..155\n";
 
 sub failed {
     my ($got, $expected, $name) = @_;
@@ -450,6 +450,18 @@ for my $pkg(()){}
 $pkg = 3;
 is $pkg, 3, '[perl #114942] for my $foo()){} $foo';
 
+# Check that format 'Foo still works after removing the hack from
+# force_word
+$test++;
+format 'one =
+ok @<< - format 'foo still works
+$test
+.
+{
+    local $~ = "one";
+    write();
+}
+
 # Add new tests HERE (above this line)
 
 # bug #74022: Loop on characters in \p{OtherIDContinue}