#! perl use strict; use warnings; my %includes = ( 1 => join("\n", '', '', ' ', ' hello world', '', '', '
', '

Hello world

', ' ', '
', '', ''), 2 => '', 3 => '', 4 => '2014', ); render(1); sub render { my $id = shift; my $html = $includes{$id}; print '-' x 10, "\nrender($id) BEFORE:\n$html\n"; $html =~ s//render($1)/eg; print "render($id) AFTER:\n$html\n", '-' x 10, "\n"; return $html; } #### 1:27 >perl 1066_SoPW.pl ---------- render(1) BEFORE: hello world

Hello world

---------- render(2) BEFORE: render(2) AFTER: ---------- ---------- render(3) BEFORE: ---------- render(4) BEFORE: 2014 render(4) AFTER: 2014 ---------- render(3) AFTER: ---------- render(1) AFTER: hello world

Hello world

---------- 1:27 >