小编Tod*_*odd的帖子

尽管“没有警告 qw(experimental::signatures)”,签名仍会生成警告消息

创建了一个包并想要使用签名。

package Foo;
use strict;
use warnings;
use feature qw(signatures);
no warnings qw(experimental::signatures);

use Moose;

has bar => ( is => 'ro', isa => 'Str' );

sub boom ($self, $stuff) {
    print "$stuff\n";
}
1;
Run Code Online (Sandbox Code Playgroud)

测试一下:

perl -wc Foo.pm
The signatures feature is experimental at ./Foo.pm line 11.
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?我认为“无警告”编译指示会抑制该警告!

perl moose

5
推荐指数
1
解决办法
395
查看次数

Mojolicious render_to_string 和 stash 值和输出

我在这里遗漏了一块,希望有人能指出我做错了什么。

Mojolicious 应用程序有一个 /export 路由,它创建一个 href 并将该数据发送到 export.html.ep 模板以呈现为一个字符串(将生成一封电子邮件)

模板已被剥离到裸露的骨头以进行测试:

% my $data = stash 'data';
% dumper $data;

<div></div>
Run Code Online (Sandbox Code Playgroud)

出口路由功能:

use base 'Mojolicious::Controller';
...
sub export {
    my $self = shift;
    my $log  = $self->log;
    my $href = {
        foo => "bar",
        boom => [ "three", "two", "one" ],
    };

    $self->stash(data => $href);
    my $html = $self->render_to_string();
    $log->debug("html is ", { filter => \&Dumper, value => $html });
}
Run Code Online (Sandbox Code Playgroud)

我的测试仪是 export.t:

...
$t->get_ok("/export")->status_is(200);
print Dumper($t->tx->res->content->asset->slurp);
...
Run Code Online (Sandbox Code Playgroud)

在我的日志中,我看到:

html is …
Run Code Online (Sandbox Code Playgroud)

perl mojolicious

3
推荐指数
1
解决办法
559
查看次数

标签 统计

perl ×2

mojolicious ×1

moose ×1