TABLE OF CONTENTS

文档

ojo - 单个字母的 Mojo 的功能

概要

$ perl -Mojo -E 'say g("mojolicio.us")->dom->at("title")->text'

描述

这是一个非常有意思的东西就是 Perl 的单行功能合集。 默认的情况下,可以重定向 10 次,你可以修改 MOJO_MAX_REDIRECTS 来改变它的行为.

$ MOJO_MAX_REDIRECTS=0 perl -Mojo -E 'say g("mojolicio.us")->code'

默认也是打开了代理检查的功能,如果你想禁用这个功能,就使用 MOJO_PROXY 的环境变量来修改它.

$ MOJO_PROXY=0 perl -Mojo -E 'say g("mojolicio.us")->body'

函数

ojo 实现了下列的函数

a

my $app = a('/hello' => sub { shift->render(json => {hello => 'world'}) });

使用 "any" in Mojolicious::Lite 中的 route 功能来创建一个 Mojolicious::Lite 对象,你可以看 Mojolicious::Lite 的教程中参数的详细信息.

$ perl -Mojo -E 'a("/hello" => {text => "Hello Mojo!"})->start' daemon

b

my $stream = b('lalala');

打开 Mojo::ByteStream 对象字符.

$ perl -Mojo -E 'b(g("mojolicio.us")->body)->html_unescape->say'

c

my $collection = c(1, 2, 3);

打开列出 Mojo::Collection 对象的功能.

d

my $res = d('mojolicio.us');
my $res = d('http://mojolicio.us' => {DNT => 1} => 'Hi!');

使用 "delete" in Mojo::UserAgent 中的 DELETE 请求并返回 Mojo::Message::Response 对象.

f

my $res = f('http://kraih.com' => {a => 'b'});
my $res = f('kraih.com' => 'UTF-8' => {a => 'b'} => {DNT => 1});

使用 "post_form" in Mojo::UserAgent 来执行 POST 的请求会返回 Mojo::Message::Response 这个响应的对象。注意倒数第二个括号号中的 hash 引用是 POST 提交时的参数,倒数第一个括号中的 hash 引用是 http 的 header 头部。其它 HTTP 请求的方法也是一样.

g

my $res = g('mojolicio.us');
my $res = g('http://mojolicio.us' => {DNT => 1} => 'Hi!');

使用 "get" in Mojo::UserAgent 来执行 GET 的这种请求,并返回 Mojo::Message::Response 的对象.

$ perl -Mojo -E 'say g("mojolicio.us")->dom("h1, h2, h3")->pluck("text")'

h

my $res = h('mojolicio.us');
my $res = h('http://mojolicio.us' => {DNT => 1} => 'Hi!');

使用 "head" in Mojo::UserAgent 来执行 HEAD 这个请求并返回 Mojo::Message::Response 的对象.

j

my $bytes = j({foo => 'bar'});
my $array = j($bytes);
my $hash  = j($bytes);

对 Perl 的数据结构使用 Mojo::JSON 编码成 JSON 的结构。

$ perl -Mojo -E 'b(j({hello => "world!"}))->spurt("hello.json")'

n

my $res = n('http://kraih.com' => {a => 'b'});
my $res = n('kraih.com' => {a => 'b'} => {DNT => 1});

使用 "post_json" in Mojo::UserAgent 的模块来执行 POST 的请求,并返回 <Mojo::Message::Response> 的对象.

o

my $res = o('mojolicio.us');
my $res = o('http://mojolicio.us' => {DNT => 1} => 'Hi!');

使用 "options" in Mojo::UserAgent 的模块来执行 OPTIONS 的请求,并返回 <Mojo::Message::Response> 的对象.

p

my $res = p('mojolicio.us');
my $res = p('http://mojolicio.us' => {DNT => 1} => 'Hi!');

使用 "post" in Mojo::UserAgent 的模块来执行 POST 的请求,并返回 <Mojo::Message::Response> 的对象.

r

my $perl = r({data => 'structure'});

给 Perl 的数据结构使用 Data::Dumper 来 Dump 出来。

perl -Mojo -E 'say r(g("mojolicio.us")->headers->to_hash)'

t

my $res = t('mojolicio.us');
my $res = t('http://mojolicio.us' => {DNT => 1} => 'Hi!');

使用 "patch" in Mojo::UserAgent 中发出 PATCH 的请求并返回 Mojo::Message::Response 的对象.

u

my $res = u('mojolicio.us');
my $res = u('http://mojolicio.us' => {DNT => 1} => 'Hi!');

使用 "put" in Mojo::UserAgent 中的 PUT 请求并返回 Mojo::Message::Response 的对象.

x

my $dom = x('<div>Hello!</div>');

打开 Mojo::DOM 对象处理 HTML/XML 的输入.

$ perl -Mojo -E 'say x(b("test.html")->slurp)->at("title")->text'

SEE ALSO

Mojolicious, Mojolicious::Guides, http://mojolicio.us.