Mojoliciousで文字化けが起こった時の対処法2つ

PerlのMVSフレームワーク「Mojolicious」を使っていて、$c->renderでHTMLを表示した時に日本語が文字化けしたので、その対処法を2つ紹介していきます。 そもそもPerlで文字化けが起こる原因とは? そもそも、Perlで文字化けが起こる原因とは何でしょうか? …

PerlのDBIで新規レコードを作成(INSERT)した時にレコードのIDを取得する方法

PerlのDBIでINSERT処理をした時に、新たに作成したレコードのIDを取得したい時がある。 INSERTしたレコードのIDを取得する方法 もし、あなたがDBI::mysqlのモジュールを使っている場合は、以下のように$sth->{mysql_insertid}を使えば新規レコードのIDを取得…

Mojoliciousで「[error] Role::Tiny 2.000001+ is required for roles」のエラーが出た時の対処法

PerlのMVCフレームワーク「mojolicious」を触っている時に、以下のエラーが発生した。 [error] Role::Tiny 2.000001+ is required for roles 上記のエラーは、with_rolesメソッドを使おうとする時に発生したものだが、解決策はRole::Tinyというモジュールを…

perlで正規表現で文字列を置換したり、新しい変数に格納する方法

Perlを使っている時に、正規表現にマッチした文字列を新しい文字列に直したり(置換)、その置換した文字列を新しい変数に格納したい時がある。 Perlで正規表現にマッチした所を置換する方法 Perlで正規表現にマッチした所を置換するためには、以下のようにす…

perl(Mojolicious)をレンタルサーバーXserverを使って公開する手順まとめ

perlのMVCフレームワーク「Mojolicious」をレンタルサーバーのXserverを使って公開する方法を紹介していきます。 基本的には、WEBアプリはVPSやAWSのサーバーを借りて運用すべきですが、個人の遊びとして格安のレンタルサーバーを使いたい場合があります。 …

perlで「Can't locate Sample/Module.pm in @INC」と言うエラーが起こる原因と対処法3つ

perlを扱っていると、よく以下のようなエラーが出ることがあります。 Can't locate Sample/Module.pm in @INC 今回は、このエラーの原因と「これをやったら解決するよ」と言う対策法を紹介していきます。 Can't locate Sample/Module.pm in @INCの原因とは?…

perlでファイルの中身を全て読み込みたい時の方法

perlを使っている時に、ファイルの全ての内容を変数に格納したい時がある。例えば、こんな感じで。 my $data = read_file; 今回は、そんな方法を紹介していくよ。 ファイルの全ての内容を変数に格納する方法 結論から言うと、以下のように書けばファイルの中…

perlでファイルの読み込みとか作成とか削除のまとめ

perlでファイル操作をする方法をまとめていきます。 なるべく分かりやすさ重視で説明するので、厳密には違うと言う部分が多々あるかと思いますが、詳細は公式ドキュメントをみてください。 perlでファイルを読み込む方法 perlでファイルを読み込むためには、…

Mojoliciousでディレクトリの場所を変数(属性)として格納する方法

Mojoliciousでとあるディレクトリの場所を保存しておきたい、と言う時がある。例えば、「気軽にmyapp/public/htmlのディレクトリにアクセスしたいな」と言う感じの場合。 その時は、/lib/MyApp.pmで以下のように書けば良い。(一応、mojo generate app MyApp…

perlの$_[0](デフォルト引数)とか@_(引数リスト)について気になったので調べた

とあるperlのコードを読んでみると、下記のような書き方をしていて気になったので、調べてみました。 sub on { push @{$_[0]{events}{$_[1]}}, $_[2] and return $_[2] } @_(引数リスト)とは? @_(引数リスト)とは、サブルーチン(関数)やfor、foreachなどの…