タグ

perlに関するsleepy_yoshiのブックマーク (82)

  • List::Util Perl 標準の配列操作ライブラリ

    Landscape トップページ | < 前の日 2004-11-13 2004-11-14 次の日 2004-11-15 > Landscape - エンジニアのメモ 2004-11-14 List::Util Perl 標準の配列操作ライブラリ 当サイト内を Google 検索できます * List::Util Perl 標準の配列操作ライブラリこの記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Perl] List::Util は配列の最大値、最小値、合計値を取得したり、配列をシャッフルしたりするためのルーチンを集めたPerl モジュール。Perl 標準ではなかったが結構前からあったモジュールらしい。Perl 5.8 から標準ライブラリとして組み込まれたようだ。Scalar-List-Utils が元なのかな? 私ははっきり言って全く知らなかった。あると便

  • はてなブログ | 無料ブログを作成しよう

    【自分語り】1推しの卒業によせて . 私の1推し、ゆきりんこと柏木由紀ちゃんが、17年に渡り在籍したAKB48を卒業することになった。 この機会に、ゆきりん推し(48ファン)としての自分自身のことをすべては不可能であるものの振り返ろうと思う。 内容からして世代がわかることも仕方ないし、限りなくゼ…

    はてなブログ | 無料ブログを作成しよう
  • Text::MeCabの処理時間 - ぞえ の戯れ言

    Text::MeCabでのわかち書き処理が遅い件について、記録を取っていなかったので再度処理時間を計り直しました。 用意した文章は次のものをUTF-8に変換したものです。 実際に来た迷惑メール(1767バイト) 青空文庫より『瓶詰地獄』(夢野 久作著)(25496バイト) 青空文庫より『黒死館殺人事件』(小栗 虫太郎著)(1039324バイト) MeCab $ time mecab -Owakati < ~/spam-utf8.txt > /dev/null real 0m0.009s user 0m0.004s sys 0m0.004s $ time mecab -Owakati < ~/binzume_jigoku.txt > /dev/null real 0m0.045s user 0m0.032s sys 0m0.012s $ time mecab -Owakati < ~/kok

    Text::MeCabの処理時間 - ぞえ の戯れ言
  • DOM Based Content Extraction via Text Densityのbindingを書いたよ - y_tagの日記

    SIGIR 2011のDOM Based Content Extraction via Text Densityが、シンプルなアルゴリズムながら良さそうな結果を示していたので、著者のコードを改変してSWIGでPerlPythonのbindingを作った。 下手な英文メールにも関わらず、コードの利用を快く認めて下さったFei Sunさん、ありがとうございます! cpp-ContentExtractionViaTextDensity - GitHub これは何をするものかというと、タイトルどおり、DOMツリー上でText Densityという指標を用いてウェブページの文抽出を行うもの。機械学習とかではなく、単純に決められた方法で計算されたText Densityを用いるだけのシンプルなアルゴリズムである。 Text DensityはDOMノードごとに計算され、シンプルにテキストの文字数をタ

    DOM Based Content Extraction via Text Densityのbindingを書いたよ - y_tagの日記
    sleepy_yoshi
    sleepy_yoshi 2012/01/22
    本文抽出ライブラリ
  • perlメモ:alarmを使ったタイムアウト処理

    perlでalarmを使ってタイムアウト処理を行う方法。割り込みとか、アラームとか、タイマーとかタイムアウト処理とか言ったりします。 perlでWebをGETするプログラムを書いたりすると、相手のサーバーが死んでいると、応答が無くなってプログラムが止まったままにになったりします。WebのGETにかかわらず、通信関係ではよくあることですが、例えば複数のURLを定期的にチェックするプログラムをperlで書いたときにチェックしてるURLのうちの一つでもサーバーが落ちたりしてると応答が帰ってこなくて他のURLまでチェックできなくなってしまったりします。これでは困るので、タイムアウト処理が必要になるのですがその場合に重宝するのがalarmです。 perl.comのサンプルソースをチョットいじったサンプルです。 下記のサンプルだと実行後while(1)の所で無限ループに陥ってしまいますが、その前で a

    perlメモ:alarmを使ったタイムアウト処理
  • JSONのエンコード - yref’s blog

    JSONのエンコード⇔ とても参考になったサイト: 1.encode() 時は、ハッシュ内の全ての非 ASCII 文字列は、必ず予め utf8 フラグ ON にしておく。 2.encode() で出力される JSON 文字列の utf8 フラグは、予め utf8() メソッドで指定できる。 3.decode() 時は、入力する JSON 文字列の utf8 フラグの状態を、必ず utf8() メソッドで指定する。 4.decode() で出力されるハッシュ内の文字列の utf8 フラグの状態は、文字列の内容(ASCII/非ASCII)に依存する。 詳しく。。 JSON モジュールで utf8 を扱う際の注意点 encode 時(ハッシュなどのPerlオブジェクトからJSONを生成)は、 入力ハッシュが日語などの非 ASCII 文字列を含む場合は、 必ず utf8 フラグ ON (stri

    JSONのエンコード - yref’s blog
  • POD が邪魔だあ! というときに POD::Stripper : NDO::Weblog

  • Unicode - 似た文字同士にご用心 : 404 Blog Not Found

    2008年05月02日04:00 カテゴリLightweight Languages Unicode - 似た文字同士にご用心 後者はハイフンでなくてマイナス記号でんがな。 [を] UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ で、元のテキストファイルの全角ハイフンを「od -t x1」 で見てみると「ef bc 8d」と「e2 88 92」の2種類が混じっていました。 前者は「\p{Hyphen}」にマッチするのですが後者はダメ。 まあ原因は分かったので、前処理でバイナリ置換して解決しました。 で、紛らわしそうなのを名前のHYPHENとMINUS SIGNでgrepするとこんな感じになる。 egrep '(HYPHEN|MINUS SIGN)' /usr/local/lib/perl5/5.10.0/unicore/Name.pl -002DHYPHEN-MI

    Unicode - 似た文字同士にご用心 : 404 Blog Not Found
  • perlの正規表現でUnicodeブロックを使う - (゚∀゚)o彡 sasata299's blog

    2009年03月13日07:07 Perl perlの正規表現でUnicodeブロックを使う 今日、Unicodeブロックというものを初めて知りました。正規表現で利用できます。 例えば、半角英数字もしくは半角記号かどうかをチェックするときには、このように書けるんです。 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode qw(encode_utf8); my $str = "aあ-い0bc〜d9e"; for ($str =~ /./g) { if (/\p{InBasicLatin}/) { print encode_utf8("$_ is latin\n"); } else { print encode_utf8("$_ is not latin\n"); } } \p{InBasicLatin} の部分が半角英

  • Coro で Read-Write Lock パターン - l1o0の日記

    増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編 を参考に Coro で Read-Write Lock パターンを実装。 Read-Write Lockは、 スレッドが読んている間は、別のスレッドも読める スレッドが書いている間は、別のスレッドは読めない スレッドが読んている間は、別のスレッドは書けない スレッドが書いている間は、別のスレッドは書けない #!/usr/bin/perl use strict; use warnings; package Reader; use Coro; sub new { my ( $class, %args ) = @_; my %defaults = ( name => 'Reader' ); %args = ( %defaults, %args ); bless \%args, $class; } sub run { my $s

    Coro で Read-Write Lock パターン - l1o0の日記
  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • 【Perl】ミニマルAppConfig: RemovableType

  • Perlモジュールのレビューサイト PrePAN をオープンしました - Kentaro Kuribayashi's blog

    Perl Mongersの皆様へ: PrePANというサイトをオープンしたので、お知らせいたします(実装は僕、デザインは同僚のスーパーデザイナid:kudakurage)。 http://prepan.org/ PrePANとは? 社内でこんな話をしたことがありました。 業務や個人的な活動なので、便利モジュールができた〜ということがあった時、んじゃ、せっかくなのでCPANize(CPANに公開)しよっかなと思っても、いくつか不安に思うことがあったりします。 既に似たようなものがあるのでは? 実装について不安が……。 CPANizeするに際しての名前やファイル構成の慣習がわからない 誰かにちょっとチェックしてもらいたい そのような問題に対する解決の一助となればと思い、サイトを作ってみました。「こんなの作ったけどどうだろう?」とか「こういうモジュール他にある?」とか、いろいろなことに使ってもら

    Perlモジュールのレビューサイト PrePAN をオープンしました - Kentaro Kuribayashi's blog
  • perlの単体テスト - It_lives_vainlyの日記

    概要 ちょっと用があって、perlでプログラムを書くことになりました. 少し規模感のあるプログラムなので、単体テストが無いと不安だなぁ…等と思い立って、perlでの単体テストについて調べてみました. せっかくなのでメモを公開しておきます. 【目次】 Test::Simple と Test::More がある フォルダ構成の約束事 Counter.pm の仕様を決める テストの書き方 テストの実行1 モジュールの作成 テストの実行2 テストスイートの実行 まとめ 参考書籍 Test::Simple と Test::More がある perl の標準的な単体テストモジュールには、"Test::Simple"と"Test::More"がある. "Test::Simple"は簡単なテストを、"Test::More"は詳細な(?)テストを行うものらしいが、より機能が多い方を学んでおけば今後に良いだろ

    perlの単体テスト - It_lives_vainlyの日記
  • Six Apart - Tech Talk Blog: Perl モジュールの作り方

    こんにちは。TypePad Engineer の重田です。 今年も YAPC::Asia Tokyo の季節がやってきました。今回も豪華メンバが参加するのでとても楽しみですね。 さて今回はYAPCにちなんでPerlモジュールの作成方法をご紹介します。 準備 Perl プログラマのバイブルである Perl Best Practices の Chapter17: Modules の Refactoring の冒頭で Damian Conway が言っています。 Place original code inline. Place duplicated code in a subroutine. Place duplicated subroutines in a module. さあ皆さんもそろそろ車輪の再発明に別れを告げてモジュール作りをはじめてみませんか? h2xs 少し前の書籍などでは h2

  • モジュール作成からCPANに上げるまでの手順 - $shibayu36->blog;

    この前WebService::Bitlyというモジュールを作ってCPANに登録したので、忘れないうちにそれを行なうまでの手順をメモしておきます。これからCPANモジュールを作る人の参考になればと思います。 0.いろいろなドキュメントを読んでおく 間違ったモジュールをCPANに上げると迷惑がかかるようなので、最低限下のドキュメントは読んでおいたらいいと思います。 PAUSE: The CPAN back stage entrance perlnewmod - 新しいモジュールを配布するには - perldoc.jp 1.モジュール名を決めて、ひな形を作る まずモジュールの名前を決めます。CPANモジュールは、「このようなモジュールはこの名前空間」のような慣習があるようなので、それを考えながら決めます。 名前が決まったら、モジュールのひな形を作ります。僕はModule::Starter::PB

    モジュール作成からCPANに上げるまでの手順 - $shibayu36->blog;
  • Template-Toolkit - モダンなPerl入門 - モダンなPerl入門

    Template-Toolkitperl の世界でもっともよく使われているテンプレートエンジンの一つです。 つかいかた # hoge.pl use strict; use warnings; use utf8; use Encode (); use Template; my $tt = Template->new( ENCODING => 'utf-8', # utf-8で保存されたテンプレートファイルを utf8 flag つきでロードする ); $tt->process('hoge.tt', { author => "アンディ" }, \my $out) or die $tt->error; print Encode::encode('utf-8', $out); # hoge.tt わたしのなまえは [% author %] です。 ね。かんたんでしょ。 テンプレートファイルを

  • Test::More - テストを書くためのもう一つのフレームワーク - perldoc.jp

    名前¶ Test::More - テストを書くためのもう一つのフレームワーク 概要¶ use Test::More tests => $Num_Tests; # または use Test::More qw(no_plan); # または use Test::More skip_all => $reason; BEGIN { use_ok( 'Some::Module' ); } require_ok( 'Some::Module' ); # 「ok」と示すためのさまざまな方法 ok($this eq $that, $test_name); is ($this, $that, $test_name); isnt($this, $that, $test_name); # STDERR に出力するよりも "# here's what went wrong\n" diag("here's what

  • Happy Testing Perl 記事一覧 | gihyo.jp

    第4回Test::Perl::Critic, Test::Pod, Test::Pod::Coverage, Test::Exception, Test::Warn, Devel::Coverの紹介 小林篤 2008-06-25

    Happy Testing Perl 記事一覧 | gihyo.jp
  • CPANモジュールの選び方 - モダンなPerl入門 - モダンなPerl入門

    Perl といえば、再利用可能なモジュールがたくさんたっくさん登録されている CPAN です。現在では 57,022 ものモジュールが登録されています。 そんな CPAN なのですが、あまりにもモジュールが多すぎて目移りしてしまいます。たとえば、日付の処理をしようとおもって「Date」というキーワードで検索すると、1,764 ものモジュールがマッチして、めうつりしてしまう。 そんなときにどうすればいいのか。それを稿では解説しようとおもう。 最終更新日をみる モジュールには最終更新日が表示されています。最終更新日が古いものは、忘れさられた古きモジュールである可能性が高いので使わない方がいいでしょう。 具体的にいうと、2004年以前のモジュールについては注意した方がいいです。 CPAN Testers の結果をみる テストにこけるようなモジュールは作者がやる気ないことがほとんどです。 テスト