cpan -i HTTP::Server::Simple
返回:已是 up to date. 但是我在 D:\Strawberry\perl\site\lib\ 找不到 HTTP\Server
手工安装:下载 HTTP-Server-Simple-0.52.tar.gz
解压 tar zxvf HTTP-Server-Simple-0.52.tar.gz
cd D:\perl\HTTP-Server-Simple-0.52
perl Makefile.PL
gmake install
D:\perl\HTTP-Server-Simple-0.52>gmake install
cp lib/HTTP/Server/Simple/CGI/Environment.pm blib\lib\HTTP\Server\Simple\CGI\Environment.pm
cp lib/HTTP/Server/Simple.pm blib\lib\HTTP\Server\Simple.pm
cp lib/HTTP/Server/Simple/CGI.pm blib\lib\HTTP\Server\Simple\CGI.pm
Installing D:\Strawberry\perl\site\lib\HTTP\Server\Simple.pm
Installing D:\Strawberry\perl\site\lib\HTTP\Server\Simple\CGI.pm
Installing D:\Strawberry\perl\site\lib\HTTP\Server\Simple\CGI\Environment.pm
Appending installation info to D:\Strawberry\perl\lib/perllocal.pod
官网样例:HTTP::Server::Simple - Lightweight HTTP server - metacpan.org
#!/usr/bin/perl
{
package MyWebServer;use HTTP::Server::Simple::CGI;
use base qw(HTTP::Server::Simple::CGI);my %dispatch = ('/hello' => \&resp_hello,# ...
);sub handle_request {my $self = shift;my $cgi = shift;my $path = $cgi->path_info();my $handler = $dispatch{$path};if (ref($handler) eq "CODE") {print "HTTP/1.0 200 OK\r\n";$handler->($cgi);} else {print "HTTP/1.0 404 Not found\r\n";print $cgi->header,$cgi->start_html('Not found'),$cgi->h1('Not found'),$cgi->end_html;}
}sub resp_hello {my $cgi = shift; # CGI.pm objectreturn if !ref $cgi;my $who = $cgi->param('name');print $cgi->header,$cgi->start_html("Hello"),$cgi->h1("Hello $who!"),$cgi->end_html;
}} # start the server on port 8080
my $pid = MyWebServer->new(8080)->background();
print "Use 'kill $pid' to stop server.\n";
运行 perl http_server.pl
浏览器访问 http://localhost:8080/hello?name=Alien
鼠标右键,查看网页源代码。
最后我找到了 cpan 安装所在位置 D:\Strawberry\perl\vendor\lib\HTTP\Server\