s5r.jp About Name shunirr Location Tokyo, Japan Using Services Hatena Blog Scrapbox Twitter Github Contacts Twitter @shunirr Email m at s5r dot jp Game Accounts Steam shunirr PSN shunirr Xbox shunirr Nintendo SW-3097-5307-8703
このところ社内の技術勉強会で取り上げているテーマの Perl::Critic。このモジュールは、Damian Conway の Perl Best Pracitice に書かれているスタンダードな Perl のコーディングスタイルをチェックするためのものです。Perl::Critic をインストールすると perlcritic というコマンドがインストールされ、それを使うことで自分が書いた Perl のソースをチェックしたりできるという。 いろんなコーディングスタイルのルールとかは、Perl::Critic::Policy のサブクラスに記述されていて、pod で全部読めます。 この Perl::Critic なポリシーの中に Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval というのがあります。これは eval には文
Perl のアクセサモジュールとしては、Class::Accessor::Fast が人気すね。 # これは例 package Hoge; use base 'Class::Accessor::Fast'; __PACKAGE__->mk_accessors(qw( req )); sub new { my $class = shift; bless { url => 'http://e8y.net/', req => HTTP::Request->new, }, $class; } こんな風な、ハッシュに bless するよくあるクラスの場合に、そのハッシュのキーと同じ名前でgetterを作成しておくと、属性にアクセスする場合($hoge->url)と属性のオブジェクトのメソッドを呼ぶ場合($hoge->req->header())に、ブレース{} が途中に入ってこないので見やすいし、そ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
好きなものは空と緑とS2000とガンダムとラジコン・ミニ四駆、Perfume(かしゆか)。ときどき子育てとキャンプ。 MT3.11jaのダイナミックページを試そうとしたものの、SQLエラーが発生して今の今まで出来ませんでした。ようやく成功したので、そのインストールメモ。 -OS redhat9 httpdなどはいれず。gccなど開発ツールをいれたのみ。 - apache1.3.3 download apache ./configure --prefix=/usr/local/apache --enable-module=rewrite --enable-module=so --enable-module=proxy - mysql 4.0.22(rpm) download mysql rpm -Uvh MySQL-client-4.0.22-0.i386.rpm MySQL-server-
以下は、他サイトに掲載されている有用なWWW::Mechanize使用例です。 私自身、「Amazon アフィリエイトレポート」を見て、本当にこのWWW::Mechanizeを使おう、と思いました。 Amazon アフィリエイトレポート(blog.bulknews.net)。 WWW::Mechanize を使って bk1 の注文履歴を取得するスクリプト(www.asmate.net)。 mixiの足あとを取得するスクリプト(digit.que.ne.jp)。日記を投稿するスクリプトのアレンジです。 指定したカテゴリの、今日の一覧を取得。 「次のページ」も追いかけて処理します。 use strict; use WWW::Mechanize; my $url = 'http://headlines.yahoo.co.jp/hl'; my $cate_label = 'コンピュータ一覧'; m
http://d.hatena.ne.jp/urapico/20071110/1194668943 I had the same trouble on another distro -- the solution (for me) was to delete all the Compress::Zlib files (or at least files under my perl installation containing the word "Compress" or "Zlib") and just restart CPAN and install what I needed. That way, a fresh Compress::Zlib (and whatever else I deleted) was downloaded from CPAN and installed. h
Scalar::Util::weaken 使ってるスクリプトが全滅。 (略) なんでだろーとおもってとりあえず Scalar::Util 再インストールしたら直った。 謎過ぎる。。同じバージョンだったのに。 うちでも同じ現象が発生しました。 $ perl -MScalar::Util=weaken -e 42 Weak references are not implemented in the version of perl at -e line 0 BEGIN failed--compilation aborted. $ perl -MScalar::Util -e 'print Scalar::Util->VERSION' 1.18CLONtypesterさんと同じく再インストールしたら直りました。 $ cpan -fi Scalar::Util $ perl -MScalar::Ut
Plagger 注意 このページは単なるインストール手順のメモです。Plaggerは開発が活発なので、ここの情報は古くなっていることが多いです。 Plaggerについての正確な説明は Plagger公式サイト Shibuya.Plaggers Plagger Plugin はてなブックマーク - タグ plagger などを参照してください。 概要を知りたい場合は公式サイトのPresentationsにある「YAPC::Asia 2006 Tokyo」「Plagger Conference 1 Keynote」のスライドを参照するとよいでしょう。代表的なデモとしてElementary, ... Googleで「はらへった」と検索するとピザが届くようにするまでがあります。 解説 Plaggerは、mixiやBloglinesやWebサイトなど様々なところからデータを取って来て、いろいろなフィ
ここ1ヶ月ほど(ながいなぁ…)、ちまちまと勉強してきたCGI::Application::Dispatchについて、使い方もこなれて来たので、ここいらでひとまとめです。 何するモジュール? この勉強中エントリーの1回目でも書きましたが、CGI::Applicationを利用したアプリで必要になるインスタンスCGIは作らずに、URI(PATH_INFO)から実行するモジュールとRunモードを決定する、というモジュールです。newしてrunするだけのインスタンスCGIなんか毎回書きたくないよ、というのがモジュール作者さんの意図のようです(PODにもあります)。 URIはこうなる CGI::Application::Dispatchを使った場合のURIは、 となります。 CGI::Applicationを継承したMyApp::Indexというモジュールを作った場合、それを実行するためのURIを比
やっとこPlaggerを使えるところまでたどり着けた。livedoor Readerの更新FeedがGmailにどさっと届いたよ。おもしろい。 さて、Plaggerにたどり着くまでには、いくつものモジュールインストールとそのテストの失敗、たくさんの妥協、汗、涙、睡眠不足などの困難が伴ったわけだ*1。そのおかげでCPANやPerlについてわかったことをあげてみることにした。 CPANは便利でおもしろい WWW::YouTubeとかHatena::FormatterとかMac::Glueとか。もっとセンセーショナルなモジュールもたくさんあるよね。CPAN漁ったりPlaggerの依存で入るモジュールを眺めていると、こんなのもモジュール化されてるのか!っておどろくことが多い。もうほんと自分でコード書く必要あるのかというほどの充実ぶり。 CPAN漁りにはモジュールに関するいろんな情報があつまったCP
[Perl] LWP::UserAgentを利用すればWEBデータを取得できます。GETメソッドのみでしたらLWP::Simpleの方が簡単です。ちなみにhttpsでの取得も可能ですが、Crypt::SSLeayがインストールされている必要がある。 [サンプル] #!/usr/bin/perl use LWP::UserAgent; my $ua = LWP::UserAgent->new; #タイムアウトを設定 $ua->timeout(10); #ユーザエージェントを設定 $ua->agent('Mozilla'); #GET、PUT、POST、DELETE、HEADのいずれかを指定(httpsの場合はhttpsにするだけ) my $req = HTTP::Request->new(GET => 'http://www.ksknet.net'); #リファラーを設定 $req->ref
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く