Perl Hash...

Net::OpenID::ConsumerGoogleOpenID 登入時一直讀不到,trace 後找到問題出在 args

my $csr = Net::OpenID::Consumer->new(
    ua => LWPx::ParanoidAgent->new,
    args => sub { $self->request->query_parameters->{shift} },
    consumer_secret => 'some random string',
    required_root => 'http://example.com/'
);

vim 裡面突然看到 shift 顏色不太對,才突然想到,是不是 Perl 把「shift」當作是一個字串?

果然改成 shift() 就都正常了...

PS:用 Tatsumaki 拆 Controller 的部份還不錯...

Tatsumaki 與 Twiggy 的搭配...

感謝 #perl.tw 上的幫助,總算是找到方法將 Tatsumaki 跑起來,而且把該拆開的地方拆開...

這是 app.psgi

use Controller::Main;
use Tatsumaki::Application;
use strict;
use warnings;

Tatsumaki::Application->new([
    '/' => 'Controller::Main',
]);

這是 Controller/Main.pm

package Controller::Main;

use parent qw/Tatsumaki::Handler/;
use strict;
use warnings;

sub get {
    my $self = shift;
    $self->write('It is Main Controller.');
}

然後直接用 twiggy 不加參數就可以跑起來..