Perl入学式 #9補講に行ってきた

zusaar.com -&nbspzusaar リソースおよび情報に行ってきたので、そのメモ

内容

先週から引き続き、Mojolicious の基礎。だんだん一見さんは辛いことになってる。前回からの続きの色合いが強いので突然 hello.pl を与えられてコードを書きましょう、てのは無理がある。

今回はフォームから何かを一行入力して、post '/hoge' => sub {} を書くのがメイン。post の処理の中で render() を呼び出しているので、リロードした時に残念なことになっているのはご愛嬌。次回、対応方法をやるとさ。

質問

  • 直に form タグを書くのと、Mojolicious が用意している form_for などのヘルパーを使用するのとでは、どちらがいいのか? → form_for を使ったほうがいい、エラー時に入力した値をインプットフィールドに残したいなどのコードを書く場合にヘルパーを使った方が書きやすい

HTMLのエスケープについて聞くの忘れた。

  • どうもテンプレートに perl のコードを書く感じがしっくりこない。

うまく言語化できなかった。コードを埋め込むときに、 <%= $name %> が $name を評価した結果に置き換わる。 <% $code %> は $code が実行されるだけ、というところまではわかるんだけど、Perl の if 文や for 文が式ではない(=結果を返さないので)その時の if (condition) BLOCK の BLOCK 部分がそのままテンプレートの結果として出力されたり、for ループで繰り返し出力されるのがしっくり来ない。

  • ポストしたリクエストの内容をお手軽に確認する方法は?→ dumper というヘルパーが用意されているので、$self->req などをダンプさせることができる。パラメータは $self->req->params 、$self はテンプレートからいつでも参照することができる。
  • テストは→そのうち、Test::Mojo などある。

まとめ

全体的にゴールが見えにくかった。

Mojolicious は話のダシで、正規表現Perlの文法などを復習したいのであればもっと Mojolicious の説明は最小限にして、「とりあえずこのフレームでインプットして結果をアウトプットできる」程度にするべき。

逆に Mojolicious で Webアプリケーションを作成することに重きを置くなら、もっとエラーハンドリングや Mojolicious の組込みの機能について説明するべきだと思った。

今回は papix 君が disられる回になってた。不在なのにこの存在感、おいしいな。