re 2nd obv
@array in scalar context
is the number of elements in the array. $#array is the index of the last element. ie
$#array = @array -1;
My only observation here is that:
for ($i=0; $i <@filenames; $i++)
is a little 'cleaner'.
re 3rd obv
Doesn't have to, as it's the last statement in a coding block. But, it *is* a good habit to get into.
re uncallous comment
"try debugging your code"
- perhaps you could spend an extra minute or two checking your
answer before ranting :)
PS - blame any lette ommissions on my dodgy keyboad which will get eplaced soon...
PPS - try removing first print statement (why is it there?). I suggest you move the second to just above your output line (print <<EndHTML;). Other notes...
# For tidyness, change:
# in your regexp, to:
# for sanity control, change
open(PAGES, "<pages.txt") || die $!;
# (and do the same for you other filehandle opens)
# and I'm pretty sure that
print FILE QQ($temlate ...
# should be
print FILE qq($temlate ...
And, to finish, I strongly suggest you use CGI.pm