summaryrefslogtreecommitdiffstats
path: root/t/lib/My/Parser.pm
blob: d8ef95debb8704fca7447ec86d048ad06225790c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package My::Parser;
use Exporter 'import';
our @EXPORT = ('foo', 'bar');

use Parse::Keyword {
    foo => \&parse_foo,
    bar => \&parse_bar,
};

our $got_code;

sub foo { 1 }
sub parse_foo {
    lex_read_space;
    my $code = parse_block;
    $got_code = $code ? 1 : 0;
    return sub {};
}

sub bar { 1 }
sub parse_bar {
    lex_read_space;
    my $code = eval { parse_block };
    $got_code = $code ? 1 : 0;
    return sub {};
}

1;