タグ

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

タグの絞り込みを解除

perlに関するfbisのブックマーク (1,098)

  • if と exists と my と delete を 1 行で表現する - Craftworks Tech Blog - Branch

    段階的にこう書くところを if ( exists $hashref->{'key'} ) { my $value = $hashref->{'key'}; delete $hashref->{'key'}; do something... } key の削除を先に行っても問題なければ、まとめてこう書くことも出来ます。 if ( my $value = delete $hashref->{'key'} ) { do something... } チーム開発などでは下記の書き方は処理が一目で判りにくいので避けた方が良いですが、ひとつの知識として。

    if と exists と my と delete を 1 行で表現する - Craftworks Tech Blog - Branch
  • 自然順ソートを行うPerlワンライナー - ぱせらんメモ

    2009-06-22 PHPの豊富すぎる組み込みの関数の中でも、natsort関数はかなり高機能な関数の一つだと思います。他の言語なら体に組み込まれることは有り得ないのではないでしょうか。 今回のお題は、このnatsortを使ったワンライナーです。 (from hnwの日記) というわけで、PHPのワンライナーは引用元を参照してもらうとして、同じことをPerlでやってみた。 さすがに体には組み込まれてないので、Sort::Naturallyの力を借りてみた。 $ ls bin/php-* | perl -MSort::Naturally -e 'print nsort <>' bin/php-5.0.0 bin/php-5.0.1 bin/php-5.0.2 bin/php-5.0.3 bin/php-5.0.4 bin/php-5.0.5 bin/php-5.1.0 bin/php-

    自然順ソートを行うPerlワンライナー - ぱせらんメモ
  • ぼくが DBI から DBIx::Class に移行した理由 - 理系学生日記

    2009-06-18 この話で、とりあえず MySQL 使ってみっかってことになって、最初は DBI を使ってアクセスしてたんですけど、その部分全部消して、DBIx::Class 使ったアクセスに書き換えました。 別に DBI でも良いだろって思ってたんですけど、それでも乗り換えたのは、生で SQL を書くのがカッコわるいとかいう理由でもなく、メンテナンス性・柔軟性が乏しいよねって理由でもなく、IN 句で変数 bind しにくいよねって思ったからです。 IN 句に何個指定するか実行時にならないと分からないのに、bind する変数の数をあらかじめ決めるのってつらいよなーって思いました*1。 "SELECT name, age FROM people WHERE name IN (?,?)" # two names もしかして、なんか良い方法あるのかな。ないのかな。 *1:もちろん実行時に、'

    ぼくが DBI から DBIx::Class に移行した理由 - 理系学生日記
  • perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! : 404 Blog Not Found

    2009年06月21日19:00 カテゴリLightweight Languages perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! リハビリをかねて作りました。 /lang/perl/Class-Builtin/trunk - CodeRepos::Share - Trac dankogai's p5-class-builtin at master - GitHub @CPAN (coming soon)こういうことが出来ます。 #!/usr/bin/perl -l use strict; use warnings; use Class::Builtin; binmode STDOUT, ':utf8'; my $so = OO('小飼弾'); print $so->length; print $so->decode_utf8

    perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! : 404 Blog Not Found
  • HTML::Entitesで非ASCII文字を数字文字参照にしない方法 - 空繰再繰

    HTML: :Entites hack PerlHTMLの一般文字参照とか数字文字参照とかを扱うのにHTML::Entitiesというモジュールがあるんだけど、 これは日語とかのASCII以外をすべて数字文字参照にしてしまうので、その辺りの対処方。 一番手っ取り早いのは、 use strict; use warnings; use utf8; use HTML::Entities; { no warnings 'redefine'; *HTML::Entities::num_entity = sub { $_[0] }; } print encode_entities('<あああ>'); こんな感じにすることなんだけど、これするとencode_entities_numericが動かなくなる。 あとどう見てもバッドノウハウ。 なんで、%HTML::Entities::entity2ch

    fbis
    fbis 2009/06/17
  • Craftworks Tech Blog » C::P::Session::State::URI で HTML::Entities に日本語をエスケープさせない方法

    Catalyst - Session管理とHTMLエンティティコード(数値文字実体参照) でも言及されているように、Catalyst::Plugin::Session::State::URI を使っていると、 <img alt="日語" /> などが、エスケープされてしまい、表示がおかしくなったりします。 これは、HTML::TokeParser::Simple::Token::Tag::Start が悪さをしているのですが、 HTML::TokeParse::Simple::Token::Tag::Start が呼んでいる HTML::Entities::encode_entities() の第二引数を設定できれば、この問題は回避できるのですが、HTML::TokeParser::Simple::Token::Tag::Start::rewrite_tag() を redefine し

  • アジア美人のか〜わいいポーズの画像をひたすら集めまくってみるワンライナー - すぎゃーんメモ

    これを1行と呼んでいいのかどうか、はともかくとして。 perl -MWeb::Scraper -MURI -le'do{map{print}@{($r=scraper{process"#home_left img","i[]","\@src";process"span.pages",p,TEXT}->scrape(URI->new("http://asianposes.com/category/pose/".($n?"page/$n/":""))))->{i}}}while$r->{p}=~/(\d+) of (\d+)/&&($n=$1+1)<=$2'|wget 突然そそのかされたので。 SATO Yozo on Twitter: ""【速報】ものすごい勢いで@sugyanがワンライナーを書き始めたようです。" - アジア美人のか~わいいポーズをひたすら集めまくっているブログw『Asia

    アジア美人のか〜わいいポーズの画像をひたすら集めまくってみるワンライナー - すぎゃーんメモ
  • Path::Class-0.17 - Unknown::Programming

    Path::Classが約2年半ぶりくらいにバージョンアップされました。 Path-Class-0.17 - Cross-platform path specification manipulation - metacpan.org いくつかのバグ修正や最適化が行われたようです。 そして!!! 先日僕が指摘した Path::Class::Dir-0.16のchildrenが「0」で止まる件 - Unknown::Programming この件に関してもRTチケットの方で返事があり、「Fixed in 0.17 added」と書かれていたのでキタキタキタキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!ということで喜び勇んで実行させてみたところ見事に「0」で止まってしまいましたorz 工エエェェ(´д`)ェェエエ工 Fixedって言ったじゃん。 どうしよ・・・・。 またチケット追加

    Path::Class-0.17 - Unknown::Programming
    fbis
    fbis 2009/06/16
    id:yappo id:tokuhirom 両氏助言どもです。ちょっと調べてアクション起こしてみますー。
  • 第9回 Jifty:一足早いクリスマスプレゼント | gihyo.jp

    Perl 6チームからのクリスマスプレゼント この連載でも何度か名前が出てきたPerl 6ですが、「⁠クリスマスまでにはリリースされることになっている」という話はみなさん先刻ご承知のことと思います。 もちろんこの話には「どのクリスマスかは秘密です」というオチがつくわけですが、2000年の設計開始以降、これまでにも何度か「今年こそはひょっとするとひょっとするかも」という期待を持たれた年がありました。 オードリー・タン(唐鳳)氏がHaskellの勉強がてらわずか2ヶ月でPerl 6の処理系(Pugs)を実装して話題になった2005年は、まさにその筆頭格といってよいでしょう。 実際、この年はPerl 6とその関係者にとって非常に大きな意味を持つ年になったのですが、この年はまたRuby on Rails格的にブームになった年でもありました。ただでさえPerlからRubyに転向する人が後をたたな

    第9回 Jifty:一足早いクリスマスプレゼント | gihyo.jp
  • 最近の Catalyst の構成

    新しく作った開発プロセスの問題点が見えたわけだから、それはそれとして改善すればいいのに。プロジェクトに併せてテーラリングされてないのとか。そういうことを自発的にやれる人たちが必要だというのもわかるけど ■ [catalyst][perl] 最近の Catalyst の構成 最近 Catalyst のエントリをよく見かけるので自分の構成をさらしてみます。コードは CodeRepos にあります。 share - Revision 30441: /lang/perl/Chaostr/trunk 元々は、作ろうとしたアプリがあったんですが、去年の Catalyst confernce 以降、MyApp 的実験場になってます。仕事で作ったものはさらせないので、構成だけ表に出す感じ。ちなみに今のところ Catalyst 5.7 系でしか使ってないです。 あと、Controller クラスのベースで

    最近の Catalyst の構成
  • perl - use utf8; #って何だ? : 404 Blog Not Found

    2009年06月15日07:00 カテゴリLightweight Languages perl - use utf8; #って何だ? id:otsuneに建設予定フラグがたてられていたので。 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech Perl の utf8 関係が未だ全く理解できない。わからないことがわからないので整理 use utf8はいつフラグをたてるか use utf8 しててもフラグたたないことがある…… これは、以下の実例を見ていただくのが一番よいだろう。 #!/usr/bin/perl use strict; use warnings; use utf8 (); sub check_flag{ my $str = shift; print qq("$str" ), utf8::is_utf8($str) ? 'is' : 'IS NOT',

    perl - use utf8; #って何だ? : 404 Blog Not Found
  • Perlを編集しながら評価できるEditor - しがないプログラマ の日記

    http://twitter.com/monjudoh/status/2038844182 この発言に触発されて、あると便利だよなぁと作ってみました。 とりあえずなので、上のペインで Ctrl+Enterを押すと書いてあるコードが Perlでevalされて下のペインに表示されます。選択している場合には選択していた場所だけが実行されます。機能はそれだけです。 Perlの評価部分に関しては以下の ipl.batを拝借しています。 日記帳だ! with Tux on Libserver :: irbをパクってiplを完成させてみた 以下の2つのファイルがコードの全体です。 実行するには、Perl5.10とJava6*1が必要になります。 MainFrame.java import java.awt.event.*; import java.io.*; import javax.swing.*;

    Perlを編集しながら評価できるEditor - しがないプログラマ の日記
  • Perlにおける定数宣言(constant or Readonly or Attribute::Constant) - Unknown::Programming

    正直言いますと、個人的には定数って殆ど使わないんですよね。 昔はちょこちょこ使ってたんですが、最近は定数となりうる物は基的にYAML等外部ファイルに持たせて変更可能にすることが多いのでまったく使ってません。 ですがそれでもPerlで定数を使いたい時にはどーすんの?っていう時のために軽くここにまとめておきます。 言わずもかなPerl5.8にはconstantという定数を定義できる標準モジュールがあります。 use strict; use constant PI => 3.14; # 表示 print PI; # 3.14 # 上書きしようとすると・・・ PI = 3; # Can't modify constant item in scalar assignment とこのように上書きしようとするとエラーを吐いて死にます。 しかも実行時ではなく、コンパイル時にエラーを吐きます。 実はこのc

    Perlにおける定数宣言(constant or Readonly or Attribute::Constant) - Unknown::Programming
    fbis
    fbis 2009/06/12
  • 複雑なデータ構造はData::Visitor::Callbackで簡単一発変換 - Unknown::Programming

    ハッシュと配列の参照が入り交じったような複雑なデータ構造の、全value を均等に加工したかったので次の様にしてみました。 (中略) すでに似たモジュールがある気が激しくしています! ご存知でしたらぜひ教えてくださいませ。 [perl] 複雑なデータ構造のvalue を一気に書き換える方法 - harupiyoの日記 ということでData::Visitor::Callbackがズバリそれにあたるものじゃないかなーと。 use strict; use warnings; use Data::Dumper; use Data::Visitor::Callback; my $rh_testdata = { 'a' => 1, 'b' => { 'aa' => 1, 'ab' => [ 1, 2, 3, \ 'test', 5 ], 'ac' => 3, }, 'c' => 3, 'd' => 4

    複雑なデータ構造はData::Visitor::Callbackで簡単一発変換 - Unknown::Programming
  • 携帯動画の再生時間をMP4::Infoで取得しませう - Unknown::Programming

    …というか3gpファイルのヘッダを解析して再生時間の取得を試みるわけなので延いてはmp4の解析ということになりますが故、結局のところMP4::Infoを使うことで万事OKだろっていう話ですね。 use MP4::Info; # v1.12 use Path::Class; my $file = file '/foo/bar/movie.3gp'; my $mp4 = MP4::Info->new($file->openr); printf "total second is %s", $mp4->SECS; このようにすれば動画のトータル秒数が取得できます。 他にも色々とメソッドがありまして、様々な情報を取得できるわけですがそれらはドキュメントに書いてるのでここでは触れませぬ。 が、実装部分でひとつ気になる部分がありまして、各種メソッドの挙動をAUTOLOAD様に任せておられるようなのでそこ

    携帯動画の再生時間をMP4::Infoで取得しませう - Unknown::Programming
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    fbis
    fbis 2009/06/12
    確かに。都度調べながらやってる。
  • 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で+を使うと幸せになれるよ (*´Д`)ノ - (゚∀゚)o彡 sasata299's blog

    2009年06月12日00:04 Perl Perlで+を使うと幸せになれるよ (*´Д`)ノ use constant を使って、リファレンスを定数として宣言するときってたまにありますよね。こういう値をデリファレンスするにはどうしていますか??僕はこうしていました>< #!/usr/bin/perl use strict; use warnings; use constant DATA => { aaa => 1, bbb => 2, ccc => 3, }; my $data = DATA; print join " ", keys %{$data}; # aaa bbb ccc 一度変数に値を入れるあたり、何かいまいちですね。。。この解決策を実は今日たまたまプログラミングPerlを読んでいて発見しました。こんな風に+を定数の前に付けてあげれば、文字列ではなく定数宣言された値だと判断し

  • Data::Model::Tutorial::JA

    NAME Data::Model::Tutorial::JA - Data::Model::Tutorial日語版 Data::Model とは id:yappo さんがつくっている O/R Mapper。新興のものでチュートリアル的なものがない ので自分でかいてみることにしました。 とはいえ、Data::Model 自体がまだまだαクオリティですので、チュートリアルもてぬき です。 現在の Data::Model のドキュメントは Data::Model Track - JPerl Advent Calendar 2009 に良質なドキュメントがありますので、そちらを参考にしてください。 http://perl-users.jp/articles/advent-calendar/2009/data-model/ 近い将来、これらのドキュメントが POD に統合されます。 つかってみる

    Data::Model::Tutorial::JA
  • YappoLogs: Data::Model っていう ORM みたいの CPAN にあげたよ

    Data::Model っていう ORM みたいの CPAN にあげたよ あざーす。循環参照しすぎるとバターになる。。なんでそんなに人の目を気にするのだろうと、マジレス。 早速ですが Data::Model っていう O/Rマッパー 的な物を CPAN にあげました。 Data::Model http://github.com/yappo/p5-Data-Model/tree/master 元来は MVC モデルで言う所の Model を一括でまかなえるつもりで実装していますが、ロジック処理は普通の Perl のクラスで書いちゃった方が潰しが聞くため、主にストレージを Perl のオブジェクトにマッピングする ORM 的な使い方が主流となっています。 そして、 Data::Model の多くの実装や設計などは Data::ObjectDriver を参考にして開発しました。 他にも後述して

    fbis
    fbis 2009/06/11
    パフォーマンスが気になるところ。/ id:yappo thx!