タグ

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

タグの絞り込みを解除

perlとPerlに関するnipotanのブックマーク (742)

  • メソッド呼び出しで継承する - Unknown::Programming

    モジュールってないかな? package Hoge; __PACKAGE__->base(qw/Class::Data::Inheritable/); # use base qw/Class::Data::Inheritable/;と同じ挙動 こんな感じで。use baseじゃなくてbase()メソッドを呼び出す感じで継承できないかな。 どっからでも呼べて欲しいのでUNIVERSALになるかな?ちょっと実装してみる。 package UNIVERSAL::base; use strict; require base; require Carp; sub UNIVERSAL::base { my ($class,@base) = @_; for my $base (@base) { next if $class->isa($base); eval qq{ package $class; ba

    メソッド呼び出しで継承する - Unknown::Programming
    nipotan
    nipotan 2007/08/16
    これって継承じゃなくて、mix-in にしてるんじゃないかな。そもそも import の呼出は不要で、むしろ require して @ISA に突っ込むとかじゃないのかな。
  • 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

  • cpan で古いバージョンのモジュールをインストールする方法 - daily dayflower

    m コマンドでモジュールの情報を調べます。 $ cpan ... snip ... cpan[1]> m DBIx::DBSchema Module id = DBIx::DBSchema DESCRIPTION Database-independent schema objects CPAN_USERID IVAN (Ivan Kohler <ivan-pause@420.am>) CPAN_VERSION 0.33 CPAN_FILE I/IV/IVAN/DBIx-DBSchema-0.33.tar.gz UPLOAD_DATE 2007-06-29 DSLIP_STATUS bmpOp (beta,mailing-list,perl,object-oriented,Standard-Perl) INST_FILE (not installed) 現在のメンテナの PAUSE ID が

    cpan で古いバージョンのモジュールをインストールする方法 - daily dayflower
    nipotan
    nipotan 2007/08/16
    m -> ls -> install の順で。これは知らなかった。
  • CPAN Author 名の横に distribution 数を表示する Greasemonkey スクリプト : にぽたん研究所

    search.cpan.org を見てる時に「この CPAN Author は、何個の distribution を contribute しているのだろう?」とよく気になったりします。 だから、Author 毎のトップのページを見てる時に表示したいなと思ったのでグリモンにしてみました。 // ==UserScript== // @name CPAN Distribution Counter // @namespace http://blog.livedoor.jp/nipotan/ // @description count the author's distribution // @include http://search.cpan.org/~*/ // ==/UserScript== (function () { var div = document.getElementsByTa

    CPAN Author 名の横に distribution 数を表示する Greasemonkey スクリプト : にぽたん研究所
  • PerlでWindowsアプリケーションを操作してみよう(モジュール, Windows, Perl)

    はじめに PerlLinuxで使うものだと思っていませんか? ActiveState社のActivePerlを使えばWindowsでもPerlを使えます。今回はWindowsで使うPerlのTipsをお届けしたいと思います。 対象読者 WindowsユーザーでPerlに興味のある方。 必要な環境 ActiveState社のActivePerlを使います。私が使った環境はOSはWindowsXP、ActivePerlのバージョンは5.8.8.820です。ActivePerlは、ActiveState社のWebページから[Get ActivePerl]をクリックしてダウンロードすることができます。 解説内容 使用するPerlモジュール Win32::OLE Win32::Registry Win32::Clipboard Microsoft Wordを操作する まずは

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • もう CPANPLUS は使わなくてもいいのかも - daily dayflower

    今まで CPANPLUS を使っていた理由は root 以外のユーザが使った場合,インストール時に sudo してくれる インストール済みのモジュールで cpan にさらにあたらしいものがあるかどうか調べることができる モジュールのアンインストールできる モジュールの古いバージョンを検索してインストールしたりできる だったんですが,最近の CPAN.pm って 1, 2 あたりはできるようになってるんですね(がんばれば 3 もできます⇒cpan で古いバージョンのモジュールをインストールする方法 - daily dayflower)。あと force だけじゃなくて fforce や notest とかコマンド指定できるようになってます。 なので, root で最新の CPAN(Bundle::CPAN じゃなくて)をインストール 一般ユーザでインストール時に sudo を使うように設定

    もう CPANPLUS は使わなくてもいいのかも - daily dayflower
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Yet Another Hackadelic - 直積の導出と考えうる全ての値を網羅したハッシュの生成

    昨日から激しく悩んでいた内容で、id:kazuhookuさんとnishioさんに色々教わったので、その内容のまとめ。 やりたい事 my $entries = { A => [0..5], B => ["A".."D"], C => ["a".."c"] }; みたいな集合A, B, Cってのがあるとして、A, B, Cから一個ずつ値を抽出してくる組合せを列挙すると言うお話。 ちなみに場合の数として、6 * 4 * 3 = 72 通り存在するハズです。 List::Utilのreduceを使う id:kazuhookuさん案を適当に整形。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use List::Util qw(reduce); my $entries = { A => [0..5], B =>

    Yet Another Hackadelic - 直積の導出と考えうる全ての値を網羅したハッシュの生成
  • ゆーすけべー日記

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

    ゆーすけべー日記
  • 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

  • https://labs.cybozu.co.jp/blog/kazuho/archives/2007/07/perl_ndes_regex.php

  • 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

  • WWW::Mixi::Scraper 0.02/0.03 - Charsbar::Note

    巷ではAPIがどうこうという話になっているのにいまさら要るのかという話はありますが、miyagawaさんからis_validの条件判定が甘いとのバグフィックスをいただいたので、作りかけで放置していた部分とあわせてアップ。メッセージとカレンダーの基的なところを引っこ抜くプラグインが追加されているのと、実際にコンテンツを取ってくる段になるまではログインせず、コンテンツを取ってくるときにも多少のウエイトをかけるようにしてあります。おまけとして、うちで使っているlive testsも同梱しておきました。 あと、 19:33 <miyagawa_> あとmixi動画のURLが http://video.mixi.jp/view_video.pl?video_id=304398&owner_id=171268 とかなので 19:33 <miyagawa_> mixi.jp/view_video.pl

    WWW::Mixi::Scraper 0.02/0.03 - Charsbar::Note
  • 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

  • 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

  • perl - no encoding; # whenever possible : 404 Blog Not Found

    2007年06月22日19:15 カテゴリiTech perl - no encoding; # whenever possible うーん、これ、かなり5.8 portersの想定の範囲外の使われ方だったのですね。 Time to ditch encoding.pm: blog.bulknews.net Perl でソースコードにマルチバイトなリテラルを埋め込む場合には encoding プラグマを使うのが定石でしたが、 元々、encodingプラグマは、JPerlなど、L10Nなperlを発展的に解消させる、あるいは成仏させるためのプラグマ。5.7当初は$^ENCODING直接操作させないためのものでしたが、これを工夫すれば、L10N perlの成仏にも使えるという指摘を私がして、実験的にcharsetというpragma moduleを書いたのですが、5.8のpumpkingであるjh

    perl - no encoding; # whenever possible : 404 Blog Not Found
    nipotan
    nipotan 2007/08/13
  • YappoLogs: encoding::sourceをperl5.8系で動かす

    encoding::sourceをperl5.8系で動かす ことの発端はmiyagawaさんの というわけで上記のような問題になやまされずにリテラルをソースに書くことが出来そう。5.9 からバックポートされたのかなぁ、と思ってソースをみると思いっきり use 5.9.5 が。5.10 のリリースがまたひとつ待ち遠しくなったなぁ。 から なんで5.9から? encoding:sourceのソースを見てみると5.10の新演算子//が使われていた。のでまずはdefined使いまくりでソースを書き換えたけど上手く動かない。よく見ると my $hinthash = (caller($level))[10]; なるコードがある、callerの戻り値のリストは10個しか無い筈なのに11個目を取ってる。 調べてみると、5.10からの仕様でperlpragmaなるドキュメントがある。 callerで指定した

    nipotan
    nipotan 2007/08/13
  • Time to ditch encoding.pm: blog.bulknews.net

    Time to ditch encoding.pm Perl でソースコードにマルチバイトなリテラルを埋め込む場合には encoding プラグマを使うのが定石でしたが、 use encoding 'utf-8'; my $name = "宮川達彦"; こうすると STDIO まで utf-8 でエンコード・デコードされるという問題があり、また encoding.pm はファイルスコープで動くのでレキシカルに一部分だけバイト列として扱いたい(という需要があるかどうかは微妙ですが)というときにうまくいかず、イマイチ encoding プラグマを全面採用できず、decode() を使ったり \x{XXXX} で書いたりってことが結構ありました。 が、Juerd と RGARCIA が encoding::source と encoding::stdio (もとは encoding::split

  • Perl で utf8 文字列を byte サイズで split する - shag の日記

    utf8 な文字列を特定のバイトサイズで切り分ける処理って Perl でどう書けば一番良いのかを長いこと考えてた(あまり困ってはなかった)んだけど、UTF-8文字列をバイト数でカットした時の末尾の処理 見たら簡単に書けた。 #!/usr/bin/perl use strict; use warnings; use Encode qw( is_utf8 decode _utf8_on ); require bytes; my $utf8 = decode( 'euc-jp', "この日語テキストは euc-jp で書かれていますが utf8 に変換されます" ); my @splited = byte_split( $utf8, 12 ); binmode STDOUT, ':utf8'; printf "utf8 string = %s\n", $utf8; for my $str (@

    Perl で utf8 文字列を byte サイズで split する - shag の日記