You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
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
2008年11月21日00:15 カテゴリLightweight Languages perl - LWP::UserAgentで進捗表示しつつダウンロード 食後のデザートとして手頃なサイズの問題だったので。 Ruby Net::HTTP で進捗表示しつつダウンロードのメモ - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech #!/usr/local/bin/perl # # $Id: lwp-callback-example.pl,v 0.1 2008/11/20 15:16:48 dankogai Exp dankogai $ # use strict; use warnings; use LWP::UserAgent; use File::Basename; my $uri = shift || die "$0 http://example.com/bi
先日、Web::ScraperというPerlモジュールを初体験したのですが、これが非常に便利です。「今日のCPANモジュール」で紹介されているように、対話式のコマンドラインインターフェースがあって、これで実験しながらスケルトンを作成できるのも便利。Web::ScraperはHTMLの解析に強いのですが、クローリングに強いWWW::Mechanizeと組み合わせるとその素晴らしさは筆舌に尽くし難いものがあります。 ちょっと感動したので、今まで自分が使ったことのある、PerlのWebクライアントライブラリの系譜をまとめてみました。これを、以下のように理解して、使い分けています。 クローリングのトレンドはWWW::Mechanize、Plagger、Gungho辺りを使い分け クローリング系ライブラリの基本はLWPとHTTP::*、どのライブラリでもこれらの知識は必要(たぶん必須) HTMLパー
ヤフーの日本語係り受け解析APIとサンプルプログラム「なんちゃって文章要約」 2008-08-21-1 [WebTool][NLP][Programming][Algorithm] Yahoo!デベロッパーネットワーク(YDN)に 「日本語係り受け解析Webサービス」が登場しました。 Yahoo!デベロッパーネットワーク - テキスト解析 - 日本語係り受け解析 http://developer.yahoo.co.jp/jlp/DAService/V1/parse.html 「係り受けってなに?」という方もいると思うので、 以下、まったくもって厳密ではない、適当な解説を試みます。 (1) 日本語をコンピューターで処理するには、 まず形態素解析というのをやって、 文を形態素(≒単語)単位に分割します。 YDN の「日本語形態素解析Webサービス」[2007-06-18-1] で試すことができ
僕が今までPerlの勉強、及び学習のために利用したPerl関連の書物についてのまとめをば書いてみます。 Perlデバッグ明快技法 作者: Martin Brown,岡田長治出版社/メーカー: オーム社発売日: 2001/05メディア: 単行本 クリック: 1回この商品を含むブログ (4件) を見る まずは僕が始めて購入したPerl本。 会社に置いてあったラクダ本をざっと一通り読み終わったときになんか自分でも本が欲しいなと思ってたときに見つけた本。 バグやエラーに対する心構えやstrictとwarningsの詳細な使い方と説明、シグナルハンドラについて色々と学ぶところがあって良かった。あとはプロファイラについての説明が熱くてこれを知った当時はプロファイラ使っていろんなプログラムの負荷テストとやってみたりしたもんだ。 最後に付録として診断(エラー)メッセージもついててナイス。 そういや診断メッ
PerlのTipsになりそうなものを過去ログから引っ張り出してみました。 ランダムな文字列を生成するString::Random - Unknown::Programming local our $hoge; - Unknown::Programming whileでファイルハンドルをループする時の暗黙の$_について - Unknown::Programming リストの要素数を取得する - Unknown::Programming Perl6::Say-0.10 - Unknown::Programming クラスメソッドのインポートをModule::Compileでやっちゃう。 - Unknown::Programming メソッド呼び出しで継承する - Unknown::Programming どう書くでリハビリ - Unknown::Programming メソッド名一覧どーかく?
明日からちょっと遅めのゴールデンウィークということでなんか更新しとくか。 まっさらな新人にPerl教えるのって本当にきついですね。 専門学校レベルのC言語しかやったことないとかいう人は配列やfor文を凄く好む。 ハッシュやforeach使えよと。 はたまた学校でPerlやってましたとか言う人もstrictってなんですか?ってな状態だし。 というかね、専門学校で教えられてるPerlのレベルがね、10年くらい時が止まってるんじゃねーのか、と思うくらいレベルが低いのがなんとかならんかなと。(ということはPerlでOOPとかstrictとかCPANとかを教えてくれるような専門学校があったら凄い生徒集まるんじゃない!?いやいや、世の中はPHP主流になりつつあるらしいぞ) いや、まとにかく勉強しないといけない項目を箇条書きでざーっと上げてみようか。 foreach文 ハッシュ 配列操作関数push,s
-> 趣旨と注意書き -> 身近なpackage -> なんのためのpackage ? -> What's `new' ? -> bless ( reference => package ) -> Hello, Module World! -> オブジェクト? -> main パッケージと関連付けてみる -> クラスとメソッド -> オブジェクト指向 -> オブジェクトがリファレンスなら… -> -> を連続する -> 継承 -> 多重継承 -> 多重継承をやめる -> 多重継承をやめる(もう少し簡単に) -> 情報源(書籍等) <- モドル 趣旨と注意書き これを読んでも、あんまりきちっとした知識は、身に付きません(^^; オブジェクト指向の概念はほんの少ししか説明しません。ここで述べるのは、Perlでどうやるかってのが主です(それも不十分&嘘まじりかも)。 とりあえず、モジュールを作り
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
Perl Mongers Perl Mongers とは、日本各地に存在する、Perl ユーザーのコミュニティのことです。各種イベントが行われていますので、是非参加してみましょう。 Shibuya.pm Fukuoka.pm Kansai.pm (@kansaipm) Yokohama.pm (@yokohamapm) Hokkaido.pm (@hokkaidopm) Nagoya.pm (@nagoyapm) Kushiro.pm (@kushiropm) Kyoto.pm (@kyotopm) Kamakura.pm Niigata.pm (@niigatapm) Sendai.pm (@sendaipm) Tokyo.pm Hachioji.pm (@hachiojipm) Chiba.pm (@chibapm) Yomitan.pm (@yomitanpm) Machida.pm
2008年05月10日15:00 カテゴリLightweight Languages perl - There's more than one way to die いよいよ来週はYAPC::Asia::2008ですが、Hotel DANは本日から開業。我が家では本日から20日までが「YAPC旬間」です。 というわけで、その間は少なくとも一つはperlがらみのentryにしていく所存です。 で、第一回はいきなりdieの話題です。 開発日誌 pp-perl: Perlのエラー処理プログラムを停止して、メッセージ(LIST)をSTRERRに出力します。 間違っていませんが正しいとは言えません。 die = throw die()とは何か? まずは、以下のコードをご覧下さい。 [Run via codepad] eval { my $zero = 0; my $dead = 1 / $zero;
文字列 数値をASCII(アスキー)コードに対応する文字に変換するには、chr関数を使用します。 #!/usr/bin/perl use strict; use warnings; # ASCII文字コードでは65,66,67はそれぞれ 'A','B','C'に対応する。 my $a_num = 65; my $b_num = 66; my $c_num = 67; print chr( $a_num ), "\n"; print chr( $b_num ), "\n"; print chr( $c_num ), "\n"; __END__ 続きを読む
2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基本方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基本方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(
2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基本中の基本 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl
いきなり具体例から行こう。sub coloring { my ($color, $data) = @_; my $ret; if($color eq 'black') { $ret = "<font color=¥"#000000¥">$data</font>"; } elsif ($color eq 'red') { $ret = "<font color=¥"#FF0000¥">$data</font>"; } elsif ($color eq 'green') { $ret = "<font color=¥"#00FF00¥">$data</font>"; } elsif ($color eq 'blue') { $ret = "<font color=¥"#0000FF¥">$data</font>"; } elsif ($color eq 'white') { $ret = "<
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
Perl で、スクリプトをデーモン化するのはそんなに難しくない。 Proc::Daemon というモジュールを使えば簡単にできる のだが、それには小さなフレームワークに沿ってスクリプトを書かねばならない。次のサンプルに空のフレームワークを示したので、既存のスクリプトがある場合にはこれに沿って自分のスクリプトを少々改造すればよい。基本的には action サブルーチンにロジックを書けばいいようになっている。 使用するモジュール use Proc::Daemon; #/usr/bin/perl -w use Proc::Daemon; our $DAEMON = 1; # デーモンにするか?: 1(オン) / 0 (オフ) our $SLEEP_INTERVAL = 60; # スリープの間隔(秒) &init; &run; sub action { # ここ
読みかけ。というか、3ページくらいしかまだ読んでない。なんか、本を読む気分にならないんだよね…朝の5時くらいまでかけて読了。Googleを両面から捉えてる。 なんとなく使い方分かってきた感じ。うまくHTMLをパース出来てる。あとは、ログを取得するコードに、このパーサを組み込んで動作確認を取ればok。HTML::Parserから継承してるから、attr_encodedに真を設定しておけば、勝手にデコードされない。 $p->attr_encoded(1) if HTML::TokeParser::->can('attr_encoded');とかやって、確認したほうがより安全かな? 組み込んでテストするのはめんどうだからまた今度。 と思ったけど、パーサで処理するよりも、正規表現でガリガリやったほうがこの場合はいいかもしれない。ページ越えの場合とか考えると、パーサを使うとデータ構造が複雑になる気が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く