For starters, your my usage is wrong.
my $headline, $body, $url;
means
(my $headline), $body, $url;
but you want
my ($headline, $body, $url);
The solution requiring minial change is,
# publish.pl sub layout { local our ($headline, $body, $url) = @_; do 'article.layout.pl'; } layout($headline, $body, $url);
# article.layout.pl our ($headline, $body, $url); print("$headline, $body, $url\n");
Update: Just to be clear, I recommend against using my solution (and wfsp's). I think you're going to spend way more time avoiding using a real template system than actually switching over. The sooner you switch, the easier and quicker it will be. My solution is a quick fix in case you already have your "templates" written that way and this needs to be done "yesterday". Otherwise, I think switching to a templating system would be faster, even in the short run.
In reply to Re: Injecting local variables into a template
by ikegami
in thread Injecting local variables into a template
by MistaMuShu
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |