The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w
use strict;
use Test::More tests => 3;

is(simple(), "foobazbarqux");
is(postsub(),6);

TODO: {
	local $TODO = "Certain strings can be mis-parsed as code.";
	is(string_embed(),"{ milk } but first { coffee }");
};

use Acme::ButFirst;

sub simple {

	my $x = "";

	{
		$x .= "bar";
		$x .= "qux";
	} butfirst {
		$x .= "foo";
		$x .= "baz";
	}

	return $x;

}

our $z;

sub postsub {
	my $y = 1;

	$y = $y + $z;

	return $y;
	
} butfirst {
	$z = 5;
}

sub string_embed {
	return "{ milk } but first { coffee }";
}