タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

Perlに関するmimimu8のブックマーク (19)

  • Web::Scraperで正規表現を使って必要なリンクだけを取得する方法 - 日曜プログラマのそゞろ事

    わかってしまえば単純なことでした。 process 'a[href=~/\.jpe?g$/]', 'urls[]' => '@href'; XPathでも同じようにできます。 process '//a[@href =~ /\.jpe?g$/]', 'urls[]' => '@href'; Web::Scraperにはフィルタの概念があって、取得してからごにょごにょできるので、そっちのほうばかり調べていました。 例えば以下のようなHTMLの場合、そのまま取得すると、前後に改行が入ってしまいます。 <title> タイトルなのだ </title> で、それを取得する時に、前後の改行を削除してやることができます。 process 'title', 'title' => ['TEXT', sub { s/^\s+//o; s/\s+$//o; } ]; こういう機能をフィルタと呼んでいます。 その

    mimimu8
    mimimu8 2011/02/10
  • ヒアドキュメントの中でPerlの式を書く

    初代新幹線「0系」最後のラストランの日に、新幹線N700系のぞみでイーモバイルしながらこの記事を書いているid:TAKESAKOです。 Perlのヒアドキュメントを使うと複数行にわたる文字列を一気に代入したりするときに楽なので、使っている人も多いと思います。 my $foo = "bar"; my $tmp = time(); # ←関数の実行結果 print<<EOF; <div class="${foo}1"> <h1>TIME: $tmp</h1> </div> EOF しかし、ヒアドキュメントの途中でサブルーチンの実行結果も一緒に埋め込みたいときがでてくるときがあります。 @{[ Perlの式 ]} そのようなときは、@{[ リスト ]} というイディオムを使うと非常に便利です。 print<<EOF; <div class="${foo}1"> <h1>TIME: @{[ tim

    mimimu8
    mimimu8 2008/12/20
  • 非破壊な s/// のススメ

    正規表現の置換でときどき困るのは、元の文字列が変更されてしまうことです。そのため、たとえば文字列を URI escape する際には、以下のように別変数にコピーした上で、正規表現を適用することになります。 my $escaped = $search_str; $escaped =~ s/([^0-9A-Za-z_.!~*'()-])/'%' . uc(unpack('H2', $1))/eg; my $url = "http://example.com/search?q=$escaped"; 以前、この点がめんどくさいなーとブログに書いたところ、kazeburo さん他に以下のようなテクニックを教えていただきました。 use List::MoreUtils qw(apply); my $url = 'http://example.com/search?q=' . apply { s/([^

    mimimu8
    mimimu8 2008/12/20
  • perldoc を使いこなす

    国内滞在説が根強い miyagawa です。アメリカ合衆国国内という意味であれば、いつもそうなんですが。 今回は意外と知られていないと思われる perldoc コマンドの使い方を紹介します。perldoc は Perl モジュールに含まれる POD ドキュメントを整形して man 表示するツールで、perldoc モジュール名のようにして実行します。 % perldoc Web::Scraper -l オプションをつけるとそのモジュールのあるパス、-m オプションで POD の代わりにソースコードそのものを表示することができます。 % perldoc -l Web::Scraper /Library/Perl/5.8.6/Web/Scraper.pm # .pm ファイルを vi で開く % vi `perldoc -l Web::Scraper` # .pm ファイルを PAGER で開

    mimimu8
    mimimu8 2008/12/17
  • Big Sky :: Perlの軽量Web Application Framework「MENTA」を使ったブログエンジン作った。

    id:tokuhiromが良い物作ってくれたので、それを使ったブログエンジン書いてみた。 MENTA というウェブアプリケーションフレームワークをかいてみた - TokuLog 改めB日記 「CGI 用のウェブアプリケーションフレームワークにはどういうものが最適か」という問いに対する自分なりの解答。 http://d.hatena.ne.jp/tokuhirom/20081111/1226418572 名前は、「MENTOS(メントス)」。 実質コードは以下の量くらい。 sub read_entry { my $file = shift; my $pubdate = strftime("%y-%m-%d %H:%M:%S", localtime((stat $file)[9])), my $content = read_file($file); $file =~ s!.*?([^/]+)\

    Big Sky :: Perlの軽量Web Application Framework「MENTA」を使ったブログエンジン作った。
    mimimu8
    mimimu8 2008/11/29
  • Perlの軽量ウェブアプリケーションフレームワーク最新事情 - とほほのN88-BASIC日記

    前代未聞のPerl軽量ウェブアプリケーションフレームワーク祭りの中、いかがお過ごしでしょうか? 紆余曲折があってこんなことを言ってたわりに何もしてないでぼーっとしている間に、腕に覚えのある兵達が我も我もと手を動かしてくれたので、申し訳なさ半分で懲りずにベンチマークを取ってみました。 http://d.hatena.ne.jp/tokuhirom/20081111/1226418572 NanoA というウェブアプリケーションフレームワークをかいてみた - kazuhoのメモ置き場 YappoLogs: Yacafi という軽量CGIフレームワーク書いたよ みんな基的に軽量なフレームワークをうたっていて、開発効率よりも軽さや配布のしやすさを売りとしているので特に問題ないと思います。 比べたのは上の3つと モジュールを使わないcgi CGI.pmでヘッダ出力をするもの 軽量フレームワークの代

    Perlの軽量ウェブアプリケーションフレームワーク最新事情 - とほほのN88-BASIC日記
    mimimu8
    mimimu8 2008/11/13
  • ビンゴ中西のほげほげ「みんなの検定」にPerlの問題を作成しました

    完全に、個人的趣味で、 「みんなの検定」に、 Perlの問題を作りました。 解答の解説を充実させたつもりですので、 よかったらやってみてください。 世の中にPerlプログラマが一人でも増えたらよいなぁ ハマりやすいところから、初学者が学んでおかないといけないところ。 マニアックな知識まで。取り揃えてみました。 以下のボタンで、難易度別に問題を絞りこめます ※2008/12/30に一部、合格基準を引き下げました ※ 間違い等ありましたら、知らせていただけると幸いです。 ※ 「やさしいPerl検定(8)初級」 の第4問は、問題文が途中で消えてしまうようです。 やさしいPerl検定(8)初級 ↑こちらのリンクからやってくださると、問題文は消えていないようです(お手数をおかけします)。

    mimimu8
    mimimu8 2008/11/09
  • ギターのタブ譜を perl で簡単に出力するモジュールを作ってみた : にぽたん研究所

    一個前のエントリで、はてなダイアリーのウクレレ記法をけっこう使ってるだなんだって話をしましたが、私はどちらかというとウクレレとか全然弾かなくて、ギターばっかり弾いてたりするので、なんか Music::Image::Chord という、それっぽいモジュールがあったので使ってみたら、何だか色々と残念な結果だったなんてつぶやきました。 で、やっぱ、ギターのタブ譜を出力するのは大変だなーって思ってたら、コメント欄でようちゃんから むしろ、GD::Tab::Ukuleleを改造する方向でどうでしょう? と提案してもらったので、その方向で検討してみました。 まず、ギターの場合、ウクレレと違って弦が 6 なので、2 追加して、フレットの長さを変えました。 それにともない、画像のサイズはウクレレのものより大きくしました。 ギターには、ミュート弦という概念があって「この弦は音を鳴らさないんだよー」なんて

    mimimu8
    mimimu8 2008/10/25
  • tokuhirom blog

    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

    mimimu8
    mimimu8 2008/10/18
  • TAKESAKOさんの ppencode が何で動くのか分かった。 - masutaroの日記

    かなり古い話題かもしれませんが,ppencode の動作原理が分かったのでその感動を日記に記します。 僕は半年前ほど前からperlの勉強を始めましたが,始めてまだ間もない頃にppencodeを知って,これが何故動くのかが当時は全然分かりませんでした。 ppencodeって何?って方は下記URLを参照すると,分かります。’予約語プログラミング’なんてキーワードでググってみても関連情報が出てきます。 TAKESAKOさんのサイトでppencodeのデモが見れる http://www.namazu.org/~takesako/ppencode/demo.html id:naoyaさんのブログエントリ http://d.hatena.ne.jp/naoya/20050901/1125556355 上述したTAKESAKOさんのデモページで'test'の文字列を入れるとですね・・下記のようなppen

    TAKESAKOさんの ppencode が何で動くのか分かった。 - masutaroの日記
    mimimu8
    mimimu8 2008/08/10
  • [て] Perl独習の道 ~今まで、これから~: 大阪てきとー日記

    トップページ >Perl> Perl独習の道 ~今まで、これから~ « iPhoneにはいろいろとダメなところがある、でも…… | トップページ | 天橋立 » 2008/07/24 Perl独習の道 ~今まで、これから~ 今年の初めごろからPerlの勉強をチマチマと続けています。 途中何度も挫折しそうになりましたし、今でも先はまだまだ見えていない状況ではあるのですが、それでも何となく手応えらしきものを感じられるようになりました。 そこでまだまだ道半ばではありますが、ここまでに読んだやら参考にしたウェブサイトなどを整理して書いておくようにします。もしかしたら誰かの役に立つかもしれませんし、あるいはもっと良いアドバイスを得られるかもしれませんし。 ということで、まずは書籍。以下、読んだ順番です。 最初に読んだのが、結城さんの「新版Perl言語プログラミングレッスン入門編」[AA] 新版P

    mimimu8
    mimimu8 2008/07/26
  • [Perl] XML::FeedPP - RSS・RDF・Atomフィードの解析・生成・変換・結合

    Kawa.netxp [Perl] XML::FeedPP - RSS・RDF・Atomフィードの解析・生成・変換・結合 XML::FeedPP モジュールは、 RSS 2.0、RSS 1.0 (RDF)、Atom 0.3(および1.0)フィードの XML ファイルを解析・生成・変換・結合するための Perl モジュールです。 RSS ベースの1種類の共通 APIRSS・RDF・Atom の各フォーマットの処理に対応しているため、 手軽に扱えます。 フィードの読み出し・書き込みはもちろん、 RSSからRDFへ、RDFからAtomへといった各フォーマット間の相互変換も可能です。 他サイトからダウンロードした複数のファイルを結合して、 まとめて1つのファイルとして出力することもできます。 公開版アーカイブ: XML-FeedPP-0.43.tar.gz TARGZ CPAN ←通常パッケ

  • tokuhirom blog

    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

    mimimu8
    mimimu8 2008/07/21
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
    mimimu8
    mimimu8 2008/05/26
  • tokuhirom blog

    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

    mimimu8
    mimimu8 2008/05/21
  • Perl-users.jp - 日本のPerlユーザのためのハブサイト

    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

    mimimu8
    mimimu8 2008/05/21
  • Perl逆引き辞典 - サンプルコードによる Perl 入門

    Perl › here Perlの逆引き辞典です。発展的な話題もこちら。 特徴を解説 バージョン情報 データベース プログラムの自動試験 ソケット プロセス間通信 ワンライナー 統計・解析 XS入門 言語実装の研究 豆知識 モジュール基礎 オブジェクト指向 日付・時刻 文字コード ビット演算子 Perl › here

    Perl逆引き辞典 - サンプルコードによる Perl 入門
    mimimu8
    mimimu8 2008/04/24
  • ActivePerlでCatalystにチャレンジ!! (ささやかなる実験場の開発室)

    話題のCatalystとやらにチャレンジしてみようと思っていましたが、この記事(qootas.org/blog)を頼りに試みるも失敗。 そんな中、たまたまGoogleで「ActivePerl Catalyst」で検索すると、見事にCatalyst PPM's for ActivePerl Windows v5.8.xを発見。 それでは今日ブックマークしていたElementary, ... use Catalyst qw(初挑戦);をトレースしつつ、動作確認をしてみたいと思います。 ■インストール ActivePerlの5.8系が入っているという前提。 コマンドプロンプトを開いて、ppmコマンドを実行します。別にプログラムメニューからPPMを実行しても可。 C:\>ppm PPM - Programmer's Package Manager version 3.1. (中略) ppm> in

  • PPM version 4はGUIアプリケーション

    久々にActivePerlを更新し(5.8.8 build 819)、コマンド プロンプトでppmとかしてみたらなんかウィンドウが出てきた。Release NoteによるとこのbuildからPPMがversion 4になり、GUIのものがデフォルトになった模様。最初の起動時にものすごく時間がかかったけど、その後はそこそこ。 インストールすることのできるモジュールやインストール済みのモジュール、アップグレード可能なモジュールがそれぞれ一覧できるのはやはり便利。一覧にはものすごい数が表示されることになるが、適当な文字列でフィルタがかけられるようにもなっていて、探すのが大変ということもない。 モジュールのインストールやアンインストールは一旦キューに入れるようになっており、あとでまとめて実行する。インストールのキューに入れた時には、モジュールの依存関係なんかも表示してくれる。 従来のcommand

    PPM version 4はGUIアプリケーション
    mimimu8
    mimimu8 2007/08/29
    ppm-shell
  • 1