--- /dev/null
+#!perl
+use strict;
+use warnings FATAL => 'all';
+
+use Test::More tests => 3; # last test to print
+use Function::Parameters qw(:strict);
+
+
+my $evalcode = do {
+ local $/ = undef;
+ <DATA>;
+};
+
+ok(
+ do {
+ my $r = eval $evalcode;
+ die $@ if not $r;
+ 1;
+ },
+ 'Basic Eval Moose'
+);
+
+my $foo = foo->new({});
+is ($foo->example (), 1, 'First method declared');
+is ($foo->example2(), 2, 'Second method declared (after injected semicolon)');
+
+__DATA__
+{
+ package foo;
+
+ use Function::Parameters qw(:strict);
+ method new($class: $init) { bless $init, $class }
+ method example { 1 } # look Ma, no semicolon!
+ method example2 { 2 }
+}
+1;