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 object
- return 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\