perlに関するkameidのブックマーク (31)

  • ドキュメントとテストコードつきのPerlスクリプトを書く方法 - kazuhoのメモ置き場

    Re http://d.hatena.ne.jp/perlcodesample/20091130/1258979624, http://mt.endeworks.jp/d-6/2009/12/scriptsubimport.html スクリプトとコードとテストを単一のファイルにまとめたい*1という需要が、かねて自分の中であったので教えを請うた結果、以下のような感じで書けばいいことがわかった。 #! /usr/bin/perl use modules...; my $global = ...; sub foo { ... } sub bar { ... } run_tests() if $ENV{HARNESS_ACTIVE}; # メインのコード foo(); bar(); ... sub run_tests { ... exit; } __END__ =head1 NAME my_scr

    ドキュメントとテストコードつきのPerlスクリプトを書く方法 - kazuhoのメモ置き場
    kameid
    kameid 2009/12/08
    確かにこれはイカス! prove 気が利いてるな、いろいろと・・・。
  • 『北斗 スロット 5 号機』|エヴァ スロット 台|パチンコ 中古 機 ランキング・窪田忠雄|佐藤順一|青 ドン 実機

    sanyo スロット ©️iStock.com少年たちは懐中電灯を頼りに中を探していたが一肌脱ぎルーレット 計算、良いものは見つからない > リール 音 対策 > パチスロ ダイナマイト 4 号機 緑 ドン オーロラ 大川俊道 北斗 スロット 5 号機 ネット上では、数多くの怪異たちが登場する話が語られるようになりました 池田眞美子 スロット 実機 発送 方法 その後メキシカンリーグを経て、今年は日国内独立リーグ「ルートインBCリーグ」の茨城アストロプラネッツと契約した,カスモ カジノ【ToK8.me】K8ラッキーホイール - 1 BTC獲得⚡⚡カスモ カジノ❤️K888VIP.com❤️K8ラッキーホイール - 1 BTC獲得 北斗 の 拳 転生 家 スロ 滝沢敏文 スロット まとめ ブログ だが自供後もその内容は揺れ動いていたと、前出の京都府警担当記者は語る 山田尚子 愛知 イベント

    kameid
    kameid 2009/11/03
  • perlのテストはproveすべし - (゚∀゚)o彡 sasata299's blog

    2008年08月11日20:20 Perl perlのテストはproveすべし 最近やっとperlの素晴らしさに気がついてきたsasata299です。こんばんわ( ´_ゝ`)ノ 今日はCPANのインストール(make test)でも使われているproveコマンドについて書きたいと思います。こんなやつです。 t/00_compile...........ok t/01_base..............ok t/02_test_more.........ok t/03_test_exception....ok t/04_prints_ok.........ok t/05_stderr_ok.........ok t/06_blocks............ok t/98_perlcritic........ok t/pod..................ok テストコードを書いたとき

    kameid
    kameid 2009/10/30
  • Makefile.PLを書こう

    今日で株式会社ソフリットが設立されて1年です。また「会社を作って1年たったまとめ」を書こうかとも思ったんですが、あんまり面白くならなかったので、今年覚えたことのうちでいちばん重要そうなことをまとめようと思います。それは「Makefile.PLを書こう」ということ。 ではさっそく、これからHoge.pmというperlモジュールを書くとしましょう。 [danjou@guido] $ mkdir Hoge [danjou@guido] $ cd Hoge ここでおもむろにMakefile.PLを書き始めます。 [danjou@guido] $ vim Makefile.PL use inc::Module::Install; WriteAll; とりあえずこれだけ書いて保存します。そしてperl Makefile.PLとして実行します。 [danjou@guido] $ perl Makefil

    kameid
    kameid 2009/08/31
  • クロージャによるOOP - Tociyuki::Diary

    ふと思いついて試してみたのですが、Perlでもクロージャを使ったOOPを扱えるみたいです。たぶん既出なのだろうと思いますが、見つけきれなかったのでエントリーを打ってみます。 例1. UP/DOWNカウンタ sub Counter::new { my $this = {}; $this->{class} = shift; my( $value, $step ) = ( 0, 1 ); $this->{step} = sub { $step = shift if @_ > 0; $step }; $this->{value} = sub { $value = shift if @_ > 0; $value }; $this->{up} = sub { $value += $step }; $this; } my $c1 = Counter->new(); $c1->{value}->(10);

    クロージャによるOOP - Tociyuki::Diary
    kameid
    kameid 2009/08/17
  • Perlオブジェクト指向プログラミング

    -> 趣旨と注意書き -> 身近なpackage -> なんのためのpackage ? -> What's `new' ? -> bless ( reference => package ) -> Hello, Module World! -> オブジェクト? -> main パッケージと関連付けてみる -> クラスとメソッド -> オブジェクト指向 -> オブジェクトがリファレンスなら… -> -> を連続する -> 継承 -> 多重継承 -> 多重継承をやめる -> 多重継承をやめる(もう少し簡単に) -> 情報源(書籍等) <- モドル 趣旨と注意書き これを読んでも、あんまりきちっとした知識は、身に付きません(^^; オブジェクト指向の概念はほんの少ししか説明しません。ここで述べるのは、Perlでどうやるかってのが主です(それも不十分&嘘まじりかも)。 とりあえず、モジュールを作り

    kameid
    kameid 2009/08/17
  • perl - pargs = xargsモドキ : 404 Blog Not Found

    2007年01月18日08:00 カテゴリLightweight Languages perl - pargs = xargsモドキ GNUじゃなけりゃ 作ってしまえ xargs. 技術メモ帳 - xargsコマンドを使って指定したコマンドを並列実行させる あまり知られていないが、GNUのxargsコマンドには、 プロセスの最大数を設定できるオプションというのが用意されている。 コレを使って、プロセスを並列実行させてみよう。 OS Xのxargs(1)はgnu版じゃないんだよね。 というわけでperlで即興で作ったのがこちら。 pargs #!/usr/local/bin/perl use strict; use warnings; use Getopt::Std; use POSIX ":sys_wait_h"; our $PPID = $$; our %Opt; getopts "P:

    perl - pargs = xargsモドキ : 404 Blog Not Found
    kameid
    kameid 2009/08/14
  • xargsコマンドを使って指定したコマンドを並列実行させる - 技術メモ帳

    あまり知られていないが、GNUのxargsコマンドには、 プロセスの最大数を設定できるオプションというのが用意されている。 コレを使って、プロセスを並列実行させてみよう。 xargs --max-procs=MAX-PROCS -P MAX-PROCS command MAX-PROCSに数字を指定すると、 最大で、その数だけ command プロセスを生成する。 デフォルトは、1プロセスだけになっている。 いくつか例を交えて説明する。 サンプルとして、以下のようにURLが行ごとに記述されたファイルを元に curlをxargsで並列実行して、HTMLデータを取得してみよう。 $ cat ./url_list.txt http://www.google.co.jp/ http://www.yahoo.co.jp/ http://b.hatena.ne.jp/ まず、普通にxargsを使ってc

    kameid
    kameid 2009/08/14
  • Cache::Memcached::Fast - モダンなPerl入門 - モダンなPerl入門

    memcached へのアクセスは Cache::Memcached::Fast がオススメです。高速かつ安定して動作します。 つかいかた use Cache::Memcached::Fast; my $memd = new Cache::Memcached::Fast({ servers => [ { address => 'localhost:11211', weight => 2.5 }, '192.168.254.2:11211', { address => '/path/to/unix.sock', noreply => 1 } ], namespace => 'my:', connect_timeout => 0.2, io_timeout => 0.5, close_on_error => 1, compress_threshold => 100_000, compress_

    kameid
    kameid 2009/08/14
  • CPANモジュールのバージョンを調べる|Perlプログラムメモ|プログラムメモ

    コマンドラインから perl -M「モジュール名」 -e 'print $「モジュール名」::VERSION' 例)例えば「DBIモジュール」のバージョンを調べたいときは perl -MDBI -e 'print $DBI::VERSION' でOK。

    kameid
    kameid 2009/08/06
  • Kazuho@Cybozu Labs: Perl のテスト用に MySQL 環境を自動で構築するモジュール Test::mysqld を書いた

    ORM やウェブアプリケーション関連のライブラリなどのテストケースを書くにあたっては、 RDBMS へのアクセスが必要になります。しかし、SQLite のようなスタンドアローンのデータベースと比較すると、サーバ型データベースである MySQL に接続してテストを書くのは、既存の MySQL の権限設定やデータベース名を気にする必要があったりと、いろいろ不便です。そこで、MySQL のインスタンスをテンポラリディレクトリに自動生成し、テストが終わったら削除してくれる Perl モジュール Test::mysqld を書きました。こんな感じで使います。 use DBI; use Test::mysqld; use Test::More; my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '' }, # TCP接続を

    kameid
    kameid 2009/08/05
    神がかってるな・・・。今度使わせてもらおう・・・。
  • Kazuho@Cybozu Labs: Perl で並列処理 (using マルチプロセス)

    « DBI::Printf - A Yet Another Prepared Statement | メイン | DBIx::Printf と LIKE 式 » 2007年10月02日 Perl で並列処理 (using マルチプロセス) Shibuya.pm で牧さんが Gungho の話をされたそうで、スライドを拝見しました。Pathtraq への言及もあってうれしい。 で、スライドを読んでいて、HTTP アクセスと HTML 解析/保存処理を分離すべき、となっている点が気になりました。実は Pathtraq (のうち奥が書いている部分) では、Gungho と HTML の解析/保存処理を分離することはしていません。そのかわり、複数のワーカープロセスを駆動することで、スループットを確保しています。分離モデルとマルチプロセスモデル、どちらの手法を採るべきかは、解析/保存処理の重さやエラ

    kameid
    kameid 2009/07/27
  • Perlの排他制御 (flock,open,symlink,mkdir,rename)

    ファイル操作の排他制御といえば、以下のものが代表的です。 flockとロックファイル(ディレクトリ)式に大きく分けられます。 ロックファイル(ディレクトリ)を使う open関数 symlink関数 mkdir関数 rename関数 古いロックファイル(ディレクトリ)の削除 シグナルトラップ flockを使う flock関数 読込モード 追加モード 上書き・読み書きモード エラー処理 まとめてロックする タイムアウト ■ロックファイル(ディレクトリ)を使う 基は単なる使用中の目印です。目印が無いときに入って、自分で目印を作り、操作が終わったときに消して出るだけですね。トイレみたい(^^) で、使用中なら何回かノックします。(せかすな〜) open関数 ファイルオープン関数でファイル作成。 1.ファイルが存在するか。 2.しなければ作成。 と2段階を要するので、その隙に他のプロセスが

    kameid
    kameid 2009/07/16
  • TextPage/Misc/Ain't Lock

    kameid
    kameid 2009/07/16
  • YappoLogs: TokyoCabinetがPerlのHASHより遅いわけがない!

    TokyoCabinetPerlのHASHより遅いわけがない! こんにちわ!金曜日担当・Shibuya内フェアリーことYappoです。 mixi Engineers’ Blog » PerlRubyで省メモリなハッシュを使おうにて 100万件のレコードを格納した場合のメモリ使用量と処理時間を測ってみましょう。Perl(5.8.8)でテストコードを動かしたところ、以下の改善が確認できました。標準のハッシュに比べて、メモリ使用量がTCのオンメモリハッシュだと約61%、TCのオンメモリツリーだと約37%になることがわかります。処理時間に関しては157%ほどになっていますが、まあ許容範囲ですよね。といった事が書かれており、その文面の上の解説で、tieしたので、tieしてるからおせーんじゃねーの?とテストコードも見ないで呟いてたらmikioさんからtie使わないでやってるよ!とつっこんでいただき

    kameid
    kameid 2009/07/15
  • 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

    kameid
    kameid 2009/07/14
    moose, mouse, shika の関係
  • Charsbar::Note

    今年は Japan Perl Association が4月末にリスボンで開催された Perl Toolchain Summit のスポンサーについてくださったということで、久しぶりに日語の記事も用意します。細かなことまで興味のある方は英語版のレポートもあわせてご覧いただければとおもいますが、ざっくり年の成果を説明しますと、 Perl 5.37 で導入された class 宣言を PAUSE が認識できるようにしました。 PAUSE にアップロードしたモジュールがインデックスに掲載されない事件の原因となっていたデッドロックの問題を解消してきました。 将来の Perl や PAUSE の開発に関する議論などに参加してきました。 class 宣言については、2000年に Perl 6 の構想が発表されてからというもの、MooseX::Declare を代表とするいくつかの実験的なモジュールが

    Charsbar::Note
    kameid
    kameid 2009/07/14
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    kameid
    kameid 2009/07/09
  • たけまる / Perl - XML の処理はどれが速いかベンチ

    _ Perl - XML の処理はどれが速いかベンチ [perl][xml] XML を多量に読み書きする予定なので,処理速度を調べてみることにしま した. パース速度については,昔の naoya さんの記事が参考になります. Perl で XML の処理はどれが速いかベンチ : NDO::Weblog RSS を対象としたベンチマークでは,正規表現が最速,次いで XML::LibXML とのことです. XML::Atom の性能を知りたかったので,同じ試験を Atom でやってみまし た.XML::Atom は内部で XML::LibXML を使っています. Benchmark: timing 10000 iterations of XML::Atom, XML::LibXML, XML::Simple, regexp... XML::Atom: 4 wallclock secs ( 3

    kameid
    kameid 2009/07/08
  • naoya.dyndns.org is offline

    naoya.dyndns.org is currently offline. Please try again later. Questions about our services? Learn more at Dyn.com.

    kameid
    kameid 2009/07/08