When I'm getting no output whatsoever to a webbrowser, the usual reason is that I've forgotten to print a header. Try
use strict;
use CGI::Pretty;
use Carp qw(croak);
my $sitelist_file='<c:\supportweb\content\sitelist.txt';
my $title = 'My Lines';
open my $data, '<', $sitelist_file
or croak "No open on $sitelist_file";
my $text = do{local $/; <$data>};
close $data;
print header(),
start_html({title=>$title});
foreach my $line (split "\n", $text){
$response->write($line);
};
print end_html;
or even more compactly
use strict;
use CGI::Pretty;
use Perl6::Slurp;
print header(),
start_html(-title=>'My Lines');
foreach (split "\n", slurp '<c:\supportweb\content\sitelist.txt'){
$response->write($_)}
print end_html;
Not tested
I'm interpreting you to mean that you're writing a cgi-bin program or some such. Unlike static webpages (.html pages) they need to have the magic
Content-Type: text/html; charset=ISO-8859-1
or similar.
throop
hat-tip to Perl Best Practices