in reply to
How many bugs can *you* find
1) Using global variables like $htmlDir.
2) Hardcoding the filename tile.htm (This both reduces the capability of the function as well as allowing someone to figure out what file needs messing with.)
3) The foreach loop should be foreach my $section (@sections) to avoid clobbering $section in the surrounding scope.
4) Just to be nitpicky, but it should be elsif ($section eq 'Link')
5) $contentTemp =~ s/[\n\r]/<p>/g; will give different behavior whether on Win32 or Unix. This would be better as s/\n\r?/<p>/g; instead. In addition, doesn't Mac have a different carriage return sequence, too?