タグ

ブックマーク / perl-users.jp (10)

  • JPerl Advent Calendar 2009

    JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 今年もやってきました、JPerl Advent Calendar。12月1日から25日まで、1日1個ずつ tips を紹介していきます。 今年は三だてです。はたして最後まで無事につづくのでしょうか。今年も無計画な上に面子がそろってないので、はらはらどきどきです >< Main Tracks Hacker Track

  • キャッシュしよう

    京都観光で散財しすぎて貯金がないmalaです。こんにちは。キャッシュの話を書きます。 色んなキャッシュがあります データベースから引く前にmemcachedから取得したり テンプレートエンジンのレンダリング結果をキャッシュしたり 各種ウェブサービスのリクエスト結果をキャッシュしたり その他諸々CPUったり時間のかかる処理をキャッシュしたり 簡単に思いつくのはこの程度ですが、スケーラブルなウェブサイトを構築するには常識的に考えてそんなのキャッシュしねーだろうというようなものをキャッシュする必要があります。 DateTimeをキャッシュしよう 同じ時刻に対するDateTimeオブジェクトをキャッシュします。 package MyDateTime; use strict; use base qw(DateTime); my %CACHE; sub now { my $class = shif

  • 一行野郎(one-liner)はperlにおまかせ

    序文 もしもプログラミング言語が宗教だったら……(全訳版)[絵文録ことのは]2008/12/21 によると、ブードゥー教徒らしい dankogai です。 ブードゥー教徒らしく、「上司があなたに金曜夜21時に緊急の仕事を命ずるときにしばしば使われる」呪文をここでまとめておくことにします。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e'print "Hello, World!\n"' Hello, world! % ちなみに、perlとコマンド名だけで起動すると、標準入力をスクリプトとして返します。 %

  • Perl の map と grep を使う

    すしを奢らなければいけないなんて、バトンを渡されてから知りました。おいしい寿司がいたい sekimura です。 今回は使いこなすと気持ちよくて、使いすぎると気持ち悪いと言われてしまう grep と map の使い方について紹介します。この二つは文法がよく似ていて、同時に使われることも多いので一気に両方の使い方を覚えるのをおすすめします。 grep: 配列をフィルターする まずは、前回覚えた perldoc を使って grep とはなにかを調べてみましょう。 $ perldoc -f grep grep BLOCK LIST grep EXPR,LIST This is similar in spirit to, but not the same as, grep(1) and its relatives. In particular, it is not limited to usin

  • ヒアドキュメントの中でPerlの式を書く

    初代新幹線「0系」最後のラストランの日に、新幹線N700系のぞみでイーモバイルしながらこの記事を書いているid:TAKESAKOです。 Perlのヒアドキュメントを使うと複数行にわたる文字列を一気に代入したりするときに楽なので、使っている人も多いと思います。 my $foo = "bar"; my $tmp = time(); # ←関数の実行結果 print<<EOF; <div class="${foo}1"> <h1>TIME: $tmp</h1> </div> EOF しかし、ヒアドキュメントの途中でサブルーチンの実行結果も一緒に埋め込みたいときがでてくるときがあります。 @{[ Perlの式 ]} そのようなときは、@{[ リスト ]} というイディオムを使うと非常に便利です。 print<<EOF; <div class="${foo}1"> <h1>TIME: @{[ tim

  • エキスパートPerl - 変態モジュール総覧

    Perl の世界には、「変態モジュール」と呼ばれるモジュールがたくさん存在します。 これらは、モジュールの形態をとりながら、Perl の内部に踏み込み、蹂躙しているという恐ろしい存在です。 しかしながら、これらのモジュールは使いどころを間違えなければ非常に有用であり、あなたのプログラムに無限の可能性をもたらすことでしょう。 自分の足をどうやって撃ちぬくか、よく考えてからつかってください。 下記のモジュールたちは、それ自体が変態的なものもあれば、変態的なことをするときに使うモジュールもあります。 PadWalker PadWalker は変態モジュールの筆頭です。レキシカルスコープの変数を、レキシカルスコープの外から見たり書き換えたりできます。 peek_my peek_our peek_sub closed_over という4つの関数をサポートしています。 下記のようなありえない操作を可能

  • Perl5 のオブジェクト指向を理解する - モダンなPerl入門

    Inside Perl5 OO 対象読者: 他の言語で OO したことあるっぽいひと/Perl4 でとまってるひと Class をつくる まずは点クラスをつくってみましょう package Point; sub new { my ($class, %args) = @_; # 第1引数はクラス名 bless({%args}, $class); # データを bless すると、オブジェクトになる } sub x { my $self = shift; # 第1引数は、インスタンス $self->{x} = shift if @_; # 引数があればセッター扱いになる $self->{x}; } sub y { my $self = shift; $self->{y} = shift if @_; $self->{y}; } このようにして作ったクラスは、下記のようにして呼び出すことができま

  • HTTP::Engine - モダンなPerl入門 - モダンなPerl入門

    HTTP::Engine とは? HTTP::Engine プロジェクトは終了し、現在はメンテナンスフェーズに移行しております。HTTP::Engine をすでにつかっている場合は、無理に移行する必要はありませんが、今後あたらしくつくる場合には、Plack をご利用ください。 目次へ Last modified: $Date: 2008-05-22T09:21:23.154313Z $

  • http://perl-users.jp/acotie/

    HolyGrail
    HolyGrail 2008/09/02
    なんじゃこりゃw/id:acotieの手が全く加わってないぞこのページwww http://coderepos.org/share/log/websites/perl-users.jp/html/acotie/index.html
  • Perl-users.jp - 日本のPerlユーザのためのハブサイト

    Perl Mongers Perl Mongers とは、日各地に存在する、Perl ユーザーのコミュニティのことです。各種イベントが行われていますので、是非参加してみましょう。 Shibuya.pm Fukuoka.pm Kansai.pm (@kansaipm) Yokohama.pm (@yokohamapm) Hokkaido.pm (@hokkaidopm) Nagoya.pm (@nagoyapm) Kushiro.pm (@kushiropm) Kyoto.pm (@kyotopm) Kamakura.pm Niigata.pm (@niigatapm) Sendai.pm (@sendaipm) Tokyo.pm Hachioji.pm (@hachiojipm) Chiba.pm (@chibapm) Yomitan.pm (@yomitanpm) Machida.pm

    HolyGrail
    HolyGrail 2008/05/20
    これは期待age
  • 1