in reply to why is the content of frame.txt file not displaying

I would factor your code -- it can actually help you debug the problem. Define a subroutine like this:
sub insert_file { my $file = shift; my $path = "/home/www/artoflivingdelhi.org/$file"; unless (open(F, "<", $path)) { warn "insert_file: open of $path failed: $!"; print "<!-- insert_file: open of $path failed: $! -->\n"; } else { while (<F>) { print $_, "\n"; } # just copying what you have close(F); } }
Then you can use it like this:
use strict; use warnings; use CGI qw(:standard); ... print header(); ... insert_file("frame.txt"); ... insert_file("local_frame_left.txt"); ...
With all of your files being inserted by the same code, you'll find bugs much more quickly. Doing just this might fix your current problem, and if no files get inserted, then you know the problem is in the insert_file routine.