タグ

perlに関するnanoliaのブックマーク (260)

  • Perl でモバイルウェブ開発 - モダンなPerl入門

    Perl でのモバイルウェブ開発。CPAN モジュールつかいまくって簡単に開発がすすめられます。 端末情報を制する(HTTP::MobileAttribute) HTTP::MobileAttribute をつかうと、HTTP ヘッダから情報をぬきだし、ケータイ端末の情報をあつかいやすくすることができます。 use HTTP::MobileAttribute plugins => [ qw/ IS / ]; my $ma = HTTP::MobileAttribute->new(); $ma->is_docomo(); 絵文字をふくむ文字列をUTF8にまとめつつ相互変換(Encode::JP::Mobile) Encode::JP::Mobile をつかえば、絵文字の相互変換は容易におこなえます。ユーザがポストした発言などにふくまれる絵文字を、各キャリア用に相互変換することができます。 E

  • strict無効化の誤謬 - Islands in the byte stream (legacy)

    シンボルテーブルを操作するときに"no strict 'refs'"で一時的にstrictを無効化することはよくあるが,デバッグしにくいバグが紛れ込む可能性がある。 たとえば,以下のようにアクセサを動的に生成するコードはCPANのそこかしこにある。 sub make_accessor{ my($class, $property) = @_; no strict 'refs'; # simple read-only accessor *{$class. '::' . $property} = sub{ my($self) = @_; return $self->{$property}; } } このようなコードによって生成されたメソッドを,正しくオブジェクトに対して使う分には問題ない。しかし,このメソッドをクラスメソッドとして呼び出すと,グローバル変数${$self}を参照し,その値をハッシ

    strict無効化の誤謬 - Islands in the byte stream (legacy)
    nanolia
    nanolia 2009/01/25
  • 「モダンPerl入門」書きました。 - D-6 [相変わらず根無し]

    「モダンPerl入門」書きました。 モダンPerl入門 今みたらAmazonでも表紙が入稿されたらしいので宣伝させていただきます。えー、モダンPerl入門というを翔泳社さんから出版させていただくことになりました。でも最初に断っておきます。誤字脱字はある気がします。ごめんなさいごめんなさい。日語不得手なんです(こういう時だけ帰国子女カードを使わせていただきます)。 ともあれ、内容的には自分が普段Perlを使っていて、同僚とかに知っておいてほしいな、って思っている実践的な内容ばかり書きました。このはたとえPerlがメインの言語ではなくともPerl仕事で使っていて、なおかつ初級〜中級のあたりでうろうろしてしまっている人たち向けに書いています。初級者向けの構文説明はほとんどありません。上級者向けのわけわかんないところはXS以外ありません(はい、XSの入門あります)。ほとんどは、Perlで業

    nanolia
    nanolia 2009/01/16
  • 3キャリア対応のCSS変換モジュールHTML::MobileJpCSS - komoriyaのはてなダイアリー

    DoCoMo,EZweb,Softbankを共通の外部CSSファイルからスタイルを反映させるモジュールを作りました。 http://search.cpan.org/~komoriya/HTML-MobileJpCSS-0.01/ 3キャリア間での変換の必要性 DoCoMoでは外部CSSを参照できずインラインのみの対応となっています。 DoCoMoのインライン化についてはid:tokuhiromさんの作成したHTML::DoCoMoCSSこちらで対応が可能なのですが、3キャリア間で共通のCSSを参照するとなると属性の指定方法に微妙な差異が問題となります。 例えば小さいフォントを表示したい時は、 DoCoMo --- font-size:xx-small EZweb --- font-size:10px Softbank --- font-size:smallと属性の値が異なります。 hrタグ

    3キャリア対応のCSS変換モジュールHTML::MobileJpCSS - komoriyaのはてなダイアリー
  • 私的 XS メモ - IT戦記

    参考にしたサイト集 perlxs - perldoc.perl.org perlxstut - perldoc.perl.org perlguts - perldoc.perl.org perlapi - perldoc.perl.org http://d.hatena.ne.jp/tokuhirom/20081209/1228829454 Perl XS メモ - typemap と MAGIC をからめて - daily dayflower http://pub.ne.jp/wakapon/?entry_id=1109553 http://pub.ne.jp/wakapon/?entry_id=1109664 準備 $ h2xs -A -n MyXSS Makefile.PL CC => 'g++', 型 SV スカラー AV 配列 HV ハッシュ CV コード GV グロブ RV リ

    私的 XS メモ - IT戦記
  • 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

    nanolia
    nanolia 2008/11/18
  • App::Prove::State

  • Perlで遅いテストケースを調査する方法 - dann@webdev - dann's portal

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    Perlで遅いテストケースを調査する方法 - dann@webdev - dann's portal
  • Chart::Clicker

    Chart::Clickerを試してみた use Chart::Clicker; use Chart::Clicker::Data::Series; use Chart::Clicker::Data::DataSet; my $cc = Chart::Clicker->new; my $series = Chart::Clicker::Data::Series->new( keys => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], values => [ 42, 25, 86, 23, 2, 19, 103, 12, 54, 9 ], ); my $series2 = Chart::Clicker::Data::Series->new( keys => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], values => [ 67, 15, 6

    Chart::Clicker
    nanolia
    nanolia 2008/09/11
    "Carioベース"
  • Perl Internalsについて - Unknown::Programming

    実は、Perl 5.8以降では、Internals::SvREADONLY()という関数がuseなしで使えるようになっていて、Internals::SvREADONLY($scalar, 1)で$scalarをREADONLY flagをonに、Internals::SvREADONLY($scalar, 0)でoffにできます。 404 Blog Not Found:perl - Const released -- True Readonly SUGEEEE、ってかそんなのあるなんて知らなかった。まぢで?まぢで?早速試してみた。 my $foo = 10; Internals::SvREADONLY($foo, 1); eval { $foo = 'WRYYYYYY' }; # エラーになるはず print $@ ? "error! $@" : 'not error!'; Interna

    Perl Internalsについて - Unknown::Programming
    nanolia
    nanolia 2008/06/27
  • XS Nite (Shibuya.pm Tech Talk #9) - Pixel Pedals of Tomakomai

    id:TAKESAKOさんの好意で出させてもらったので、適当にロギングします。 はじめてのXS / id:hirose31さん XSってなに? PerlとCをつなぐための言語&インタフェース Foo.xs → xsubpp → Foo.c → Cコンパイラ → Foo.so Perlからは、XSLoaderやDynaLoaderでFoo.soを読み込む なぜXSを使う? Cのライブラリを使いたい パフォーマンス向上(Cache::Memcached::Fast 等) Perlの内部をいじくり倒す(autobox*1 等) XSを書いた動機 → forkしまくりたくなかった ドキュメント perlxstut, perlxs, perlguts, perlapi h2xs or module-starter (Module::Starter::XSimple) で始める 外部のsay_hell

    XS Nite (Shibuya.pm Tech Talk #9) - Pixel Pedals of Tomakomai
  • EmacsでPerl開発する上で必須な設定 #1 - antipop

    これは絶対に必須ってのだけ、気が向いたら連載して逝きます。まずは、Perlというか全般的な話題から。 ack いきなりPerlと関係ないけど(まあPerlで書かれたツールという関係はあるか)、必須過ぎるので。 Andy Lester / ack - search.cpan.org 以前書いたのの再掲になるけど、重要なのでもいちど。 Emacsからackの検索結果を使う - antipop (defun ack () (interactive) (let ((grep-find-command "ack --nocolor --nogroup ")) (call-interactively 'grep-find))) ackは検索だけだが、ある条件にマッチする箇所を一斉に編集したいという要求については、moccur-grep-findが異常に便利。 tags Meadow/Emacs mem

    EmacsでPerl開発する上で必須な設定 #1 - antipop
  • Perl Training Australia - Perl Tips

    Perl Training Australia regularly sends out a useful tips about the Perl programming language to make your coding easier. These tips include Perl's core features, useful modules, tricks and traps, and recent developments. Our previous tips are listed below: Arrays and hashes Locked hashes Ordered hashes Slicing arrays and hashes Common problems with slices Tricks with arrays and hashes Functions P

    nanolia
    nanolia 2008/05/27
  • 404 Blog Not Found:perl - Encode 入門

    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(

    404 Blog Not Found:perl - Encode 入門
  • perlでスレッド処理

    javaの入門書を読んでいたら突然スレッド処理が気になりだした。そういえばどう書くにスレッド処理の問題あったな。 あった。 ログを順次読み取り処理する部分を,データを共有しつついかに並列化するか pythonだとthreadingとかtwisted使った解答があって参考になった。というかtwistedは興味があるけどよくわからん。今度また改めて。で、thread使ったperlの解答がなかったので少し考えてみた。初めてのthreadプログラミング。 use strict; use warnings; use Socket; use threads; use Thread::Queue; my $DataQueue = Thread::Queue->new(); my $thr1 = threads->create(\&getaddress); my $thr2 = threads->crea

    perlでスレッド処理
  • Mint's log: Frozen Perl 2008メモその1:Introduction to OOP(オブジェクト指向Perl入門)

    2008年3月6日 Frozen Perl 2008メモその1:Introduction to OOP(オブジェクト指向Perl入門) 素晴らしい発表だった。オブジェクト指向の入門、それもPerlで、となるとわかりやすい文献はなかなかない。文献はたくさんあるのだが、どれも「わかる人にしかわからない」というタイプのように思う。さらにカンファレンスで行われる「○○入門」がわかりやすかったためしがないので期待しないでいたら、これが実に初心者にやさしいものだった。スライドが公開されている。ノートをたくさんとったのに……。Perlのオブジェクト指向関係用語(Mint注:この項はいきなりわからなくていいと思う)「オブジェクト」とは→bless()されたハッシュリファレンス「クラス」とは→パッケージ(package)「メソッド」とは→パッケージの中のサブルーチン(sub)Personモジュールを使ったオ

  • Test-Continuous-0.76

    The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

    Test-Continuous-0.76
  • Perlメモ

    複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに

  • Perl to Php Translation

    For Belorussian translation of this page, see http://websitehostingrating.com/libs/perl2php-be/ @a = (); @a = ( 'xx', 11, 33.5, ); @a = 12..33; $a[2] = 'something'; $len = scalar(@a); # or $len = @a; @a3 = ('xx', @a1, @a2); ($x, $y) = @a; $a[@a] = 'new'; # push push pop shift unshift splice foreach $i (@a) { .. } $a = array(); $a = array( 'xx', 11, 33.5, ); $a = range(12,33); $a[2] = 'something';

  • / - Catalyst::Wiki

    Getting Started Catalyst overview Necessary background knowledge Installing Catalyst or getting a binary build Deploying Catalyst Applications Catalyst tutorial Catalyst Flow Chart and Catalyst redispatch diagrams Catalyst forward/detach/visit/go FAQ - general questions about Catalyst that can be answered in a few lines Recommended Plugins - Recommended plugins to solve common tasks for production