カテゴリ:perl5
Mooモジュールで、ロールも追加して弄っていたら、突然つまずきました。
Missing required arguments: name at (eval 13) line 30.perlでこんなエラーメッセージが出てきて、大変困りました。 原因は has name => (is => 'rw', required => 1); と、requiredを宣言しているのに、newする際にsetter として、属性値をnameに設定していなかったためでした。 その他にも、いろいろやらかしたため、エラーメッセージが絶えず。 かなり、嫌になりましたが、以下、大変参考になりました 変な場所でdieまたはwarnが出て困っている場合 => Carp::Always warnまたはdieが出た時に、スタックトレースを引数付きで表示してくれます。warnやdieが出るが、どこから呼び出された時に、どんな引数のときにで出ているのかわからない場合に便利です。use Carp::Always ; と、Perlスクリプト中に書けばいいだけでお手軽です。 ただし、このモジュール使うと、メッセージがずらずら表示されるので面食らったのですが、トレースする感じで使うとよいのかなと思いました。 因みに、コマンドプロンプト上で perl -MCarp::Always your_programming.pl. と、実行指定しても同じ効能が得られるそうです、便利ですね。 いつもお世話になっている”Moo - Minimalist Object Orientation for Perl”のブログ情報です。 * Mooモジュールでの、ロールを使おうとすると日本語情報が皆無で英語もあまりない。 ほんと、試行錯誤を繰り返しています。 亀の歩みで、やってまいります。 やっていきましょう。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2018.03.15 13:50:36
コメント(0) | コメントを書く
[perl5] カテゴリの最新記事
|
|