手前味噌で恐縮ですが、 Perl のエラーメッセージをちょっときれいにするような ppe というツールを書いてみました 名前は、Prettify Perl Error messages の頭文字からとりました install は、cpanm App::PPE で出来ます 使い方 例1 こんなコードがあったとして
・perl shift(Google) ・shiftについて ・$foo = shift(Google) サブルーチンで引数を受け取るときに、よく見るパターンだそうです。 下記の例は、sub1, sub2は全く同じ動作になり、sub3も@_の長さが短くなること以外は同じ。 &sub(10, 20);#このように呼び出す。 sub sub1{ my $foo = $_[0]; #第1引数を受け取る my $foo = $_[1]; #第2引数を受け取る } sub sub2{ my ($boo, $foo) = @_;#第1、第2引数の受け取り } sub sub3{ my $foo = shift; #第1引数の受け取り my $foo = shift; #第2引数の受け取り }
モジュールが標準モジュールか CPAN からインストールしたものかどうかわからなくなった時に調べる方法です。 Module::CoreList を使う Module::CoreList というモジュールがあります。このモジュール自体は v5.8.9 から標準モジュール入りしています。以下のように使います。 $ perl -MModule::CoreList -e 'print Module::CoreList::first_release("Encode")' 5.007003 存在しないモジュールを指定した場合は undef が返されます。 $ perl -MModule::CoreList -e 'print "will not be printed." if (Module::CoreList::first_release("NoModule"))' corelist コマンドを使う
Perl入学式 公式ブログ プログラミング未経験者/Perl初心者を対象としたワークショップ『Perl入学式』のブログです。 一緒にプログラミングの楽しさを体感しましょう! みなさまこんにちは, Perl入学式校長のpapixです. いきなりですが, Perl入学式は今年で4年目となりました. ここまでの3年間, 多くの方と一緒にPerlを学ぶことができていて, とても嬉しく思っています. その中で, Perl入学式の卒業生からよく頂く意見の1つが, 「卒業後に使えるカリキュラムが欲しい」というものです. Perl入学式で扱う内容は, プログラミングを学ぶために不可欠な環境構築からスタートし, Perlという言語を通して「プログラミングに必要な考え方」を学んでいくという, まさに「基礎中の基礎」といえる内容になっています. 最終回でMojoliciousを利用したWebアプリケーションの開
まずはこちらをごらんください。 shinh.hatenablog.com すごすぎる……。恐ろしいですね。 なぜこんなことになるのか、解説していきましょう。まずはPerlの気持ちになりましょう。 Perlの気持ち編 ポイントその1 barewordを数値コンテキストで評価するとどうなるのかということ 件のプログラムは、base64 っぽい文字列が書かれていますが、これを前からPerlコードとして読んでいくと、大きく2つのパートに分かれることに気づきます。というのも、前から一文字ずつ読んでいくと、「+」という演算子にぶつかるわけですね。 それに気づくと、このコードは前半部分 dXNlIE1JTUU6OkJhc2U2NDtwcmludCBlbmNvZGVfYmFzZTY0IGpvaW4nJyw8PjsKX19FTkRfXwo と、 s//v62/e+s//v60/e+s//v44/e+s//v
こちらは Perl入学式 Advent Calendar 2014 の10日目の記事です。 昨日は @__papix__ さんの「Perl入学式の歴史 〜その2 2012年〜」でした。 とてもドラマチックで、人間同士の一つ一つのつながりが「Perl入学式」を作ってきたのだなあ、と思いました。 僕の方は、このAdvent Calendarでこれまでに2本、やや抽象的で概念的な話を書いてきましたので、 38才からのプログラミング入門 - the code to rock 独学の作法 - the code to rock 今回はもう少し具体的に、ではプログラミングを学んで何を作ったのか? ということについて書いてみたいと思います。 イントロダクション 〜 Markdown環境について 前回までの記事にも書きましたように、僕の本業はCDブックの編集者です。 したがって、普段の仕事でプログラミングを
$c->req->param('id') みたいなメソッドは使ってはいけない。これは歴史的経緯から残っているものなので、基本的に使わない方がいい。 $c->req->parameters->{id} をかわりに使ってください。 Perl の世界には List コンテキストというものがあって、これがウェブアプリケーションを開発するときには鬼門となります。 +{ id => $c->req->param('id') } のようなコードは、param メソッドはリストコンテキストではすべての id を返すので、 ?id=3&id=hasegawa&id=yosuke というようなクエリが来ている場合、 +{ id => 3, hasegawa => 'yosuke' } のようなデータ構造が作成される。これは明らかに意図していない挙動である。 以下の様にかくのがおすすめです。 my $id =
テキストから辞書にある文字列をすべて取り出す簡単なプログラム (Pure Perl) 2014-05-09-1 [Programming][NLP] 機械学習のデータ加工用のスクリプト。辞書によりテキストから素性を抽出する簡単なプログラムです。先日ちょっと需要がありまして、Pure Perl で動くものを作りました。 あらかじめ用意された辞書(文字列とIDのペア)があり、テキスト中にその辞書の文字列が存在したら対応するIDを出力する、というタスクです。 辞書マッチは最長一致のみではなく、一部重なりや内包含むすべて。最長一致のみならば辞書エントリを長い順にならべてORでつなげた正規表現を作れば一発なのですが、すべて欲しいというわけで(疑似)TRIEを採用。ハッシュで TRIE という懐かしい実装です(初期のJUMAN風)。 ■辞書の例 (fepp-dic.txt)。フォーマットは「^エントリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く