这是我的子程序。但是,当我点击超链接时,它没有做任何事情,而我的期望是打开它指向的文件。
my $q= new CGI;
my $tablecontent=[$q->th(['Date', 'Count'])];
for (sort keys %data) {
push @$tablecontent, $q->td([ $_, qq{<a href="file://home/niraj/apache2/log_files/result.$_">$data{$_}} ]) ;
}
print $q->table( { border => 1, -width => '20%'},
$q->Tr( $tablecontent),
);
答案 0 :(得分:3)
您的Perl代码按预期运行。问题在于您了解网络的运作方式。
您向用户显示如下所示的链接列表:
file://
协议表示指向文件的链接,该文件位于本地文件系统(运行浏览器的系统本地)上。这些链接不太可能有效。
您需要创建指向文件的网络可访问链接。最简单的方法是创建从log_files
目录到Web服务器文档根目录下的目录的符号链接。
您可能会考虑其他一些事项:
new CGI
)可能会导致一些难以发现的问题。最好使用CGI->new
代替。