#!/usr/bin/env perl use strict; use warnings; use Test::More; { package Foo; use Parse::Keyword { bar => \&bar_parser }; sub bar { @_ } sub bar_parser { return sub { return (1, 2, 3) } } ::is_deeply([bar], [1, 2, 3]); } { package Bar; use Parse::Keyword { baz => \&baz_parser }; my $code; sub baz { $code = $_[0] } sub baz_parser { lex_read_space; my $block = parse_block; return (sub { $block }, 1); } baz { 1 + 2 } ::is(ref($code), 'CODE'); ::is($code->(), 3); } done_testing;