my $fto = $htmDir . 'tile.htm'; # yuck: hard-coded file name in a subroutine open(HOME,$fto); # blargh, no error checks, are we using -T, and if not, is $htmDir # based on user-supplied data? foreach $section (@sections) { # if this compiles, I guess we're not using strict, eh? ($section is # not declared my) # # ... I don't even want to comment on the nastiness of the innards of the # foreach loop, but I will anyway. Iterating over the hard-coded values in @section, only # to test if you are iterating over one of those values is silly code. # # What should have been done is to save the relevent query params to a hash # and then process each param as needed, without employing the silly conditional # logic and synthetic $contentTemp variable # # I also can't imagine any circumstance in which having a (.*) to gobble up # the content in $content is a good thing. # open(HOME,">$fto"); # again, no error checks, and no locking.