类似Python SimpleHTTPServer
#!/usr/bin/perl # https://metacpan.org/pod/HTTP::Server::Simple # https://metacpan.org/pod/distribution/CGI/lib/CGI.pod package WebServer; use strict; use warnings FATAL => 'all'; use HTTP::Server::Simple::CGI; use base qw(HTTP::Server::Simple::CGI); use JSON; sub handle_request { my $self = shift; my $cgi = shift; my $handler = &resp_info; print "HTTP/1.0 200 OK "; print $cgi->header( -type => 'application/json', -status => '200', ); $handler->($cgi); } sub resp_info { my $cgi = shift; # CGI.pm object return if !ref $cgi; # my $who = $cgi->param('name'); my %rec_hash = ( 'path' => $cgi->path_info(), 'method' => $cgi->request_method() ); my $json = encode_json %rec_hash; print $cgi->param( -name => 'data', -value => $json, ); }; # start the server on port 8080 my $pid = WebServer->new(8080)->run(); # my $pid = WebServer->new(8080)->background(); # print "Use 'kill $pid' to stop server. ";