#------------------------------------------------------------------------ # Compiled template generated by the Template Toolkit version 2.22 #------------------------------------------------------------------------ Template::Document->new( { METADATA => { 'modtime' => '1297498495', 'name' => 'my file', }, BLOCK => sub { my $context = shift || die "template sub called without context\n"; my $stash = $context->stash; my $output = ''; my $_tt_error; eval { BLOCK: { $output .= " \n \n"; #line 9 "recurse.tt2" $output .= $context->process( 'recurse', { 'counter' => 1 } ); $output .= " \n "; #line 12 "recurse.tt2" # FOREACH do { my ( $_tt_value, $_tt_error, $_tt_oldloop ); my $_tt_list = [ 6, 7, 9 ]; unless ( UNIVERSAL::isa( $_tt_list, 'Template::Iterator' ) ) { $_tt_list = Template::Config->iterator($_tt_list) || die $Template::Config::ERROR, "\n"; } ## end unless ( UNIVERSAL::isa( $_tt_list...)) ( $_tt_value, $_tt_error ) = $_tt_list->get_first(); eval { $_tt_oldloop = $stash->get('loop') }; $stash->set( 'loop', $_tt_list ); eval { FOR1: while ( !$_tt_error ) { $stash->{'variable'} = $_tt_value; $output .= " \n The variable is set to "; #line 11 "recurse.tt2" $output .= $stash->get('variable'); $output .= " \n "; ( $_tt_value, $_tt_error ) = $_tt_list->get_next(); } ## end while ( !$_tt_error ) }; $stash->set( 'loop', $_tt_oldloop ); die $@ if $@; $_tt_error = 0 if $_tt_error && $_tt_error eq Template::Constants::STATUS_DONE; die $_tt_error if $_tt_error; }; $output .= " \n"; } ## end BLOCK: }; if ($@) { $_tt_error = $context->catch( $@, \$output ); die $_tt_error unless $_tt_error->type eq 'return'; } return $output; }, DEFBLOCKS => { 'recurse' => sub { my $context = shift || die "template sub called without context\n"; my $stash = $context->stash; my $output = ''; my $_tt_error; eval { BLOCK: { $output .= " \n"; $output .= "recursion count: "; #line 3 "recurse.tt2" $output .= $stash->get('counter'); $output .= " \n"; #line 4 "recurse.tt2" $stash->set( 'counter', $stash->get('counter') + 1 ); #line 5 "recurse.tt2" if ( $stash->get('counter') > 3 ) { $context->throw( 'return', '', \$output ); } #line 6 "recurse.tt2" $output .= $context->process('recurse'); $output .= " \n"; } ## end BLOCK: }; if ($@) { $_tt_error = $context->catch( $@, \$output ); die $_tt_error unless $_tt_error->type eq 'return'; } return $output; }, }, } );