MojoliciousPerl 的 Web 編程框架
Mojolicious 是下一代的 Perl 語言的 Web 編程框架,提供強(qiáng)大的功能而無需第三方包依賴,功能包括:RESTful 的路由、插件管理、Perl風(fēng)格的模板系統(tǒng)、會(huì)話管理、簽名的 cookie、靜態(tài)文件服務(wù)、測試框架、文件級(jí)的Unicode支持等等。
同時(shí) Mojolicious 也是一個(gè)全堆棧的 HTTP/1.1 和 WebSocket 的客戶端和服務(wù)器端的實(shí)現(xiàn),還包括 TLS、Gonjour、IDNA、Comet、Chunking和 multipart支持。內(nèi)建支持 Linux epoll、kqueue以及Unix Domain套接字的Web服務(wù)器。自動(dòng)檢測 CGI, FastCGI, 和 PSGI。提供 JSON 以及 XML/HTML5 的解析器,支持 CSS3 的選擇器。
示例代碼:
use Mojolicious::Lite;
# Simple plain text response
get '/' => {text => 'I ? Mojolicious!'};
# Route associating "/time" with template in DATA section
get '/time' => 'clock';
# Scrape information from remote sites
post '/title' => sub {
my $c = shift;
my $url = $c->param('url') || 'http://mojolicio.us';
my $title = $c->ua->get($url)->res->dom->at('title')->text;
$c->render(json => {url => $url, title => $title});
};
# WebSocket echo service
websocket '/echo' => sub {
my $c = shift;
$c->on(message => sub {
my ($c, $msg) = @_;
$c->send("echo: $msg");
});
};
app->start;
__DATA__
@@ clock.html.ep
% use Time::Piece;
% my $now = localtime;
The time is <%= $now->hms %>.
評(píng)論
圖片
表情
