Perlゼミ

  1. Perl
  2. Mojolicious

Mojolicious::Liteアプリでは、最後を「1;」で終わってはいけない。

Mojoliciousでは、自動的にファイルの変更を検地してくれるmorboと呼ばれるサーバーを起動して開発ができます。

morbo myapp.pl

でもひとつ気をつけてほしいことがあります。実は以下のアプリケーションは正しくうごきません。

use Mojolicious::Lite;

get '/' => sub { shift->render(text => 'aaa') };

app->start;

1;

Perlのソースコードとしては正しく見えます。でもmorboコマンドで実行すると以下のようにエラーになります。

"myapp.pl" is not a valid application.

実は最後の1;という行が問題です。実はapp->startでスクリプトが終わっている必要があります。__DATA__セクションがある場合は、app->startと__DATA__の間に空白以外をいれてはいけません。

以下のように修正すると正しく動きます。

use Mojolicious::Lite;

get '/' => sub { shift->render(text => 'aaa') };

app->start;

これはPSGIでアプリケーションを実行するときも同じことが言えるので気をつけましょう。

Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「こっ、こしゃくな。
このPerオタクめ~!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!