タグ

perlに関するhogemのブックマーク (253)

  • Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 - たごもりすメモ

    Perlでコマンドラインオプションをparseしようと思うと組込みモジュールとしては Getopt::Std と Getopt::Long がある。が、long style option *1 つまり --option-name のようなオプションを解釈してくれるのは Getopt::Long だけだ。なので普通はこちらを使おう。 ただし 絶対にデフォルト、つまり以下のようにして使ってはいけない。 use Getopt::Long; my (@primary, @secondary, $silent); GetOptions( "server-primary|p=s" => \@primary, "server-secondary|s=s" => \@secondary, "silent|S" => \$silent ); これダメ! 絶対ダメ! 死ぬ! 最初に結論を書く 必ず以下のように

    Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 - たごもりすメモ
    hogem
    hogem 2013/02/05
  • Nginx and Perl-FastCGI on CentOS 5

    The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it’s quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI on your CentOS 5 Linode. It is assumed that you’ve already followed the steps outlined in our S

    Nginx and Perl-FastCGI on CentOS 5
    hogem
    hogem 2012/08/29
    fastcgi-wrapper.pl を起動してlistenしたport(or unix domain socket) をnginx.conf で指定してperl fastcgi を実行する手順
  • App::RadというCLIがだいぶ良い - Perl勉強メモ アルパカDiary出張版

    App::Rad というコマンドラインツールがあるのですが、 手軽にサブコマンド作れてだいぶウマーな感じなのに 日語情報が全くないので紹介してみます。 基系 まずは「rad.pl」に「bucho」というサブコマンドを作ってみたいと思います。 use App::Rad; App::Rad->run; sub bucho { return "Hello Bucho!"; } たったこれだけです。まずは実行してみましょう。 $ perl rad.pl Usage: rad.pl command [arguments] Available Commands: bucho help show syntax and available commandsいい感じにヘルプが出ました。 定義したサブルーチン「bucho」が勝手にサブコマンドとして認識されていますね。 buchoコマンドを実行してみましょ

    App::RadというCLIがだいぶ良い - Perl勉強メモ アルパカDiary出張版
    hogem
    hogem 2012/06/23
  • perl - PerlIO vs. <> : 404 Blog Not Found

    2007年02月08日03:00 カテゴリLightweight Languages perl - PerlIO vs. <> これ、Perl 5 Porterとしてちょっと申し訳ないケース。 [を] Perl 標準入力と utf8 しかし、 test.pl < utf8.txt は行けるが、 test.pl utf8.txt はだめ。ここで問題になっているのは、<>でファイルを指定した場合も標準入力の場合のどちらの場合もPerlIO Layerを指定する方法。 先に答を書いてしまうと、 use open ':utf8'; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; ということになる。 odz buffer - それ use open とりあえず use open IN => ':utf8'; とするほうが、スマートといえばスマートか?

    perl - PerlIO vs. <> : 404 Blog Not Found
    hogem
    hogem 2012/05/04
    これではまってたから助かった>< / utf8のファイルを perl foo.pl < utf8.txt と perl foo.pl utf8.txt としたときの違い
  • Running gitweb.cgi on Plack

    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

    Running gitweb.cgi on Plack
    hogem
    hogem 2011/11/02
    cgiをPlack::App::WrapCGIでplack起動 / かつ 特定のURLはPlack::App::File で静的配信する例
  • 株式会社VOYAGE GROUP

    株式会社VOYAGE GROUPは、2022年1月、株式会社CARTA HOLDINGSと合併いたしました。 関連リリース:CARTA HOLDINGS、基幹グループ会社のCCIおよびVOYAGE GROUPと統合へ https://cartaholdings.co.jp/news/20210513_01/ CARTA トップへ

    株式会社VOYAGE GROUP
    hogem
    hogem 2011/08/18
  • Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。

    タイトルは釣りです。 perlでは一般的にperldocを使って調べ物をする事が殆どですが あれー、あのモジュールなんだっけ...IO:: 忘れた。 とか IO:: の下辺りに似たモジュールあったよなー なんて事が結構あったりするのですが(私だけかも)、今日もSys::SendfileのAuthorから「チミが送ってくれたpatchに対して僕が書いたtestがWindowsで通らないんだけど、何か分かるかい?」とメールが来てて それ、以前ワテがp5pに送ったpatchの件ちゃいますやろか、確かIO:: ...えーっと... ってなってしまった訳です。 なんか良くある事なので解決出来ないかなぁと思っていた所、見つけてしまいました。perldoc-completeを。 ap's perldoc-complete at master - GitHub A bash completion help

    Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。
    hogem
    hogem 2011/07/12
    なぜかデフォルトで補完できてる、、、と思ったらzsh だった
  • Shibuya Perl Mongersテクニカルトーク#16「夏の正規表現祭り」

    2011年7月6日(水)にmixiさんの新オフィスをお借りして開催した第16回Shibuya.pmテクニカルトーク「夏の正規表現祭り」のまとめです。 http://developer.cybozu.co.jp/takesako/2011/07/shibuyapm16-6ea5.html # 夏の正規表現祭り * 18:50 - Dan the (Irr|R)egular Expressionist - @dankogai 続きを読む

    Shibuya Perl Mongersテクニカルトーク#16「夏の正規表現祭り」
    hogem
    hogem 2011/07/10
    タイトル見ただけで、変態正規表現がやまほど出てきそうでわくわくする!まだ見てないけど!
  • サイトのクローリングにはScrappyがすごくいいかもしれない - Perl勉強メモ アルパカDiary出張版

    クローリング楽しいですよね! perlで高速にクロールしたいのであればGunghoなど使うのがいいかもしれませんが、 基手軽にやりたいことが多いので WWW::Mechanize+Web::Scraper という組み合わせでクロールするのが定番でした。 しかしたまたま Scrappy を知り、 少し触ってみたところすごくいいのではないか!?と思い 記事にしてみました。*1 基系(crawlコマンドを利用する場合) my $scrappy = Scrappy->new; $scrappy->crawl('1.クロールするルートURL', '2.URLにマッチするパス' => { '3.コンテンツにマッチするxpath or CSSセレクタ' => sub { my ($self, $item) = @_; # 4.キューに追加 $self->queue->add($item->{href

    サイトのクローリングにはScrappyがすごくいいかもしれない - Perl勉強メモ アルパカDiary出張版
    hogem
    hogem 2011/07/10
  • Test::mysqld + perl -d を使うと SQLがそのまま叩けて便利 - k12uのアレ

    id:zigorou 先生に教えてもらった技をメモ。 (あとで調べてみたら http://perl-users.jp/articles/advent-calendar/2010/hacker/1 ですでに言及されていましたが、SQL叩けるというところだけ強調して再掲) まずテストを用意します。 [kawamoto.m@mm1:~]$ cat 01.t use Test::More; use Test::mysqld; my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '', # no TCP socket } ) or plan skip_all => $Test::mysqld::errstr; ok(1); done_testing;perl -d でtestを走らせます。 [kawamoto.m@mm1:

    Test::mysqld + perl -d を使うと SQLがそのまま叩けて便利 - k12uのアレ
    hogem
    hogem 2011/07/07
  • Brahman: a supervisor clone in Perl (under development) - D-6 [相変わらず根無し]

    Brahman: a supervisor clone in Perl (under development) 2011年6月13日 15:57 D | ブログ記事のURL | コメント(0) | トラックバック(0) 週末にsupervisorっていうものについて話してる人がいたので、特に理由なくPerlでクローンを書いてみようと思った。というわけで当に基の部分まで書いた。名前はBrahman。神様の名前にしたかったのはプロセスの生死を管理するから。 繰り返すけど、特に理由はない。書きたかったから。ちなみに内部的には多分家と全然互換性はない。設定ファイルがだいたいクローンできればいいや、というくらい。 今のところできることは、例えば今daemontoolsで管理してるplakupサーバーがあったとして、こんな感じの設定を書くと立ち上がってstdout/stderrを一緒のログに保存

    hogem
    hogem 2011/06/13
  • (Obsolete) Parallel::ForkManager + IPC::Shareable で複数のプロセスで変数を共有する - 日向夏特殊応援部隊

    追記: 2011-12-20T03:18:11+09:00 結構この記事をしばしば参考にして安易にSystemV IPC 共有メモリに突っ込む事をやる人も居るようですが、IPC::Shareable 自体が長い事、メンテされてない上に、SystemV IPC 自体も古くさい手法です。大人しくファイルに書き出すなり、SQLite などを使って保存したりだとか、AnyEvent, Coro 等で書き直すとか、より簡単で確実な方法を試した方が良いでしょう。 つまるところ、この方法はお勧め出来ません。エントリ自体は削除せずに残しておきますが、そのつもりで読んで下さい。 オライリーの Perl クックブックの古い奴のレシピ 16.12 とかに書いてある内容なんですけど、自分でも試してみました。 IPC::Shareable のインストール 残念ながら現在のバージョン 0.60 はそのままだとテストが

    (Obsolete) Parallel::ForkManager + IPC::Shareable で複数のプロセスで変数を共有する - 日向夏特殊応援部隊
    hogem
    hogem 2011/05/18
    Parallel::ForkManager / IPC::Shareable / Data::Dump
  • GNU Parallelがすごすぎて生きるのがつらい

    皆さん今日もたくさんのサーバを相手にされていることかと思いますが、いくつかのサーバにアクセスして 1 秒間の統計情報(例えばvmstat 1 2)を集めてパッと表示したい時ってどうやってますかね?shell script を学びはじめたばっかりの僕はこんな感じで書いてました。 $ for i in host1 host2 host3; do ssh $i "vmstat 1 2 | tail -1"; done 0 0 0 329004 210836 14275360 0 0 0 2424 1410 1828 0 0 100 0 0 0 0 0 3716112 587704 25921684 0 0 0 488 1643 2026 0 0 100 0 0 1 0 0 555440 265560 14015548 0 0 0 4204 1534 2392 1 0 99 0 0 vmstatと

    GNU Parallelがすごすぎて生きるのがつらい
    hogem
    hogem 2011/04/21
    cooool !!
  • ゆーすけべー日記

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

    ゆーすけべー日記
  • perlpod - Plain Old Documentation フォーマット - perldoc.jp

    Pod is a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules.

    hogem
    hogem 2011/04/07
  • pod2html の日本語ヘッダへのアンカーをWikipedia風に変更

    hogem
    hogem 2011/04/01
    これ便利だ
  • perlでデーモン書く時は素直にMoose化しておくのもいいかもな - download_takeshi’s diary

    今更Mooseの話題かよ、と思われることでしょうが、自分は常に流行の3年遅れぐらいを全力で追いかけるタイプなので、自分にとっては今が旬。というわけで、Moose的なはなしを書きます。 突然ですが、現役バリバリのperl使いのみなさんに質問です。 POEやらAnyEventやらでちょっとしたアプリケーションサーバを書く場合、みなさんはどうやって「デーモン化」してますか? 自分はもう何回もこの手のものを書いてきたつもりですが、実は未だにベストな手法を編み出せてません。。。 App::DaemonやDaemon::Genericあたりでなんとなく自分流な形を模索した時期もありましたが、結局どれも面倒くさくなって、最近では「もう nohup perl hoge_server.pl & でいいじゃん」みたいな。「止める時は pkill -f hoge_server でいいじゃん、文句アッカ」みたいな

    perlでデーモン書く時は素直にMoose化しておくのもいいかもな - download_takeshi’s diary
  • Data::Validatorでバリデーションする - Articles Advent Calendar 2010 Casual

    はじめまして!@hisaichi5518です。就活生です。誰か雇ってください。 Text::Xatenaについて書こうと思っていたんですが、もうText::Xatenaの記事が他のトラックにあるので、今日はgfxさんによってリリースされたData::Validatorを紹介しようと思います。 Data::Validator とは 実行時型チェック / パラメーターチェックが出来る便利なモジュールです。 現在、Params::Validateがデファクトスタンダードっぽいんですが、速度が遅かったりするので正直微妙です。 ベンチマーク p5-Data-Validator/benchmark/simple.pl Params::Validate/0.95 Smart::Args/0.06 Data::Validator/0.06 without type constraints Rate P::

    Data::Validatorでバリデーションする - Articles Advent Calendar 2010 Casual
    hogem
    hogem 2010/12/11
  • ゆーすけべー日記

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

    ゆーすけべー日記
  • ゆーすけべー日記

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

    ゆーすけべー日記
    hogem
    hogem 2010/12/03
    すげーな 色々すげーな