% foreach my $n ( @{ $data->{ names } || [] } ){ % if($n->{'year'} eq <%= $number %> ) { <%= $n->{'name'} %> <%= $n->{'age'} %> <%= $n->{'code'} %> % last; % } % } #### % foreach my $n ( @{ $data->{ names } || [] } ){ % if($n->{'year'} eq <%= $number %> ) { % name_val(<%= $n->{'name'} %>) % <%= $n->{'age'} %> <%= $n->{'code'} %> % last; % } % } #### #!/usr/bin/env perl use strict; use warnings; use CGI; use Mojo::Template; my $q = CGI->new(); my $mt = Mojo::Template->new( vars => 1, auto_escape => 1 ); my $data; # Testing here; print $q->header( -charset => 'utf-8' ), $mt->render_file( mytemplate.html.ep, { data => $data, number => '1', } ); sub name_val { my $name = shift || ''; # testing if($name) { return $name; }else( return "NO NAME"; ) }