タグ

Perlに関するTaROのブックマーク (37)

  • OS X LionにperlbrewとcpanmをインストールしてPerl環境を整えるましましブログ | ましましブログ

    1. perlbrewのインストール LionではデフォルトでPerlのv5.12.3とかなり新しめのバージョンが入ってるみたいですが、 Rubyのようにrvmでバージョン切り替えたりしたいですね! そこでPerl界のrvmことPerlbrewを入れます。 公式サイトの忍者とビールのしゅわしゅわアニメーションが良い感じです。 => Perlbrew インストールは簡単で、公式に書いてあるとおり、 curl -L http://xrl.us/perlbrewinstall | bash とワンライナーを実行すればいいのですが、デフォルトのインストール先が ~/perl5 らしいので、それが嫌ならインストール前に、 環境変数のPERLBREW_ROOTを変更しろとのことです。自分は以下のようにしました。 mbp:~ namai$ export PERLBREW_ROOT=$HOME/.perl

    TaRO
    TaRO 2013/04/15
  • プロトタイプ - モダンなPerl入門

    Perlのプロトタイプ (書きかけ誰かもっとかいて!) Perlの関数は基C/C++/Javaのように引数の型や数の宣言をする必要はありません。 ですが、特殊な状況下(たとえばDSLを書きたい時)ではある一定の指定ができます。 このような指定を「関数のプロトタイプを指定する」といいます。 このプロトタイプはJavaScriptのフレームワークであるPrototypeとは違い、関数の引数の型の宣言を行うことが出来ます。関数にプロトタイプが定義されている時は、定義された型どおりに関数を呼び出さなければエラーとなります。 sub subname ($$$) { my($foo, $bar, $baz) = @_; } といった定義の時は subname $foo, $bar, $baz; という形で関数を呼び出さなければなりません。 my @list = qw( foo bar baz );

    TaRO
    TaRO 2013/02/28
  • 感情に訴えかけるログ、 Log::Minimal::Emotional !!!! - (ひ)メモ

    某所で 人間の脳には人の顔を識別するための特別な神経回路が最初から組み込まれていて、人の顔の違いを見分けたりというのが、他の図形よりも格段に高速に行えるようになっています。ということで、ログメッセージに顔文字を入れてみたら、なにこれすごいヽ(=´▽`=)ノ ってなったところ。 という発言をみかけたので、つくりました。 Log::Minimal::Emotional - https://gist.github.com/hirose31/4958764 「エモーショナル」はお好みなものに容易に再定義可能です。 #!/usr/bin/env perl use strict; use warnings; use utf8; use Log::Minimal::Emotional; $Log::Minimal::Emotional::EMOTION->{CRITICAL} = '⊂二二二( ^ω^)

    感情に訴えかけるログ、 Log::Minimal::Emotional !!!! - (ひ)メモ
  • layer8.sh

    This domain may be for sale!

    TaRO
    TaRO 2013/02/02
  • Params::Validate, how to require one of two parameters?

    TaRO
    TaRO 2013/01/29
  • vim で Perl を書くときのための tips - Articles Advent Calendar 2012 Casual

    @tokuhirom です。Perlを書き始めて8年ほど経ち、Perlで何か作る際の効率化の手法がそれなりに確立してきたので、それを思いつくままに紹介しようと思います。主に多言語から来てPerlにほどんど慣れてない方などを想定しています。 僕の秘伝のタレ的な .vimrc の中から perl に関係ある部分だけをぬきだしてお教えしましょう。すべて設定すればだいぶ快適になりそうです。とかかいてると教えるのもったいない気分になってきた。 ぼくの環境 僕は vim の環境として以下のようなものを指定しています。mattn さんからは DIS られがちです。 neosnippet unite.vim pathogen vim-perl プロジェクトの成果物をつかう https://github.com/vim-perl/vim-perl なんか最近、perl-vim から vim-perl にかわ

    vim で Perl を書くときのための tips - Articles Advent Calendar 2012 Casual
    TaRO
    TaRO 2012/12/28
  • Perlで日付・時間を操作 - DateTime モジュールの使い方 (iandeth.)

    Perlには、日時の加・減算を扱うモジュールが標準でついてきません。僕の仕事場ではずっと、同僚が作ったオリジナルモジュールを皆で使いまわしていたのですが、今になって、世間的 (CPAN) にはどんなものがあるのか気になって調べてみました。※参考になったのは miyagawa 氏のメールマガジンの過去記事と、perl.com の The Many Dates and Times of Perl なるエントリでした。 今回は数ある日付関連モジュールの中から、Dave Rolsky氏の DateTime モジュールについて、その基的な使い方について簡単にまとめたので共有してみます。 同氏は上記 perl.com 記事の執筆者であり、この前の YAPC::Asia で DateTime project について講演してくれていた人です。気合の入ったモジュールを作ってくれた事に感謝。 目次 基

    TaRO
    TaRO 2012/09/24
  • Test::MockModule - Override subroutines in a module for unit testing - metacpan.org

    NAME Test::MockModule - Override subroutines in a module for unit testing SYNOPSIS use Module::Name; use Test::MockModule; { my $module = Test::MockModule->new('Module::Name'); $module->mock('subroutine', sub { ... }); Module::Name::subroutine(@args); # mocked # Same effect, but this will die() if other_subroutine() # doesn't already exist, which is often desirable. $module->redefine('other_subrou

    TaRO
    TaRO 2012/08/24
  • 演算子 - 2部 Perl言語仕様 - [SMART]

    1.演算子の概要 演算子は、算術演算子に代表されるように、変数やリテラルなどの値に対して演算を行うための記号です。 演算子の中でも有名なのが、加算演算子や減算演算子などの算術演算子です。 Perl の組み込み演算子は、演算の対象となる値、『オペランド』の個数によって単数演算子、二項演算子、三項演算子に分類することができます。また、間値演算子か前置演算子か、数値、文字列、ファイルなど捜査対象によっても分類できます。ただし、これらの分類はプログラミングする上であまり重要ではなく、一つ一つの演算子を理解するためのものです。 用語 オペランド 演算の対象となる値。演算内容をあらわす記号は演算子と呼びます。例えば 10+X という式では、10 と X がオペランドで、+ がオペレータです。 演算子の優先順位 演算子には結合性と優先順位があります。 演算子の一覧 演算子 結合性 解説

    TaRO
    TaRO 2012/08/08
    代入演算子"||="とか
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

    TaRO
    TaRO 2012/08/03
  • Perlで単体テスト - yokkunsの日記

    Perlの単体テスト、特にMockObjectを使ったテストについての情報が少ない気がするのでまとめてみる。 前提 モジュールは、CPAN形式であると前提。雛形は、Module::Starterで作成すると良い。 テストは、Test::Perl::Criticを入れる。 インストール $ sudo cpan Module::Starter $ sudo cpan Module::Starter::PBP $ sudo cpan Test::Perl::Critic 初期セットアップ $ perl -MModule::Starter::PBP=setup モジュールの作成 $ module-starter --module=Ysm::Example $ cd Ysm-Example $ ls Build.PL Changes MANIFEST Makefile.PL README ignor

    Perlで単体テスト - yokkunsの日記
    TaRO
    TaRO 2012/07/31
  • 間違ったPerlコミュニティの女性の目立たせかた - どんぞこ日誌(2012-07-29)

    * [Perl] 間違ったPerlコミュニティの女性の目立たせかた 今月初め、CPANからあるAcmeモジュールが削除されました。そしてExtUtils::MakeMakerなどで有名なSchwern氏がそのことについてHow Not To Highlight Women In Perlという記事を書いていました。私は『Acme大全2012』をつくる準備の過程でこの一連のやりとりをみて、考えさせられ、紹介したいなと思いました。そこで人の了解を得てここに翻訳したものを掲載します(『Acme大全2012』の付録にも掲載しています)。モジュール名がAcmeまで出てしまって来の記事の趣旨に厳密には反しているのですが、ご寛恕ください(人にはどちらにも掲載することの了解を受けてます)。 間違ったPerlコミュニティの女性の目立たせかた 要約:ジェンダーの匿名性は防御である。男性が優位なコミュニテ

    TaRO
    TaRO 2012/07/31
  • Perlドキュメントの読み方

    by Hippo2000(2000/8/6) Perlに限らず、プログラム開発においてドキュメントは必要不可欠です。 特にPerlの場合、かなり便利な機能があるのですが、あまり知られていないようです。 #というより、私が知らなかっただけか(^^;; ちょっとその辺をまとめてみようと思います。 目次 1. ドキュメントの場所 2. POD形式とその変換 2.1 POD形式 2.2 変換ユーティリティ 3. perldoc 4.. ちょっとした小技 1. ドキュメントの場所 当然すぎるほど当然ですが、ラクダ(「プログラミングPerl」)が、最も基的な、そしてもっとも重要な情報でしょう。 しかしPerlの場合、インストールするだけでドキュメントがついてきます。またインターネットから各種の最新ドキュメントを取得することができます。(特にCPANに登録されているモジュールを利用する場合には!)

  • perlでハッシュとかのカッコの前に付いてるプラスの意味 - 新だるろぐ跡地

    {}の前にプラスが付いて、+{}とかなってるのをよく見るけど、やっとこれの意味が分かったのでメモ。 このカッコはハッシュ以外にも使われるから、「これはハッシュリファレンスですよ」と明示するためのもの。 use strict; use warnings; use Data::Dumper; local $\ = "\n"; sub p { print Dumper shift; } sub hashref_ng { { @_ } } sub hashref_ok { +{ @_ } } my $ng = hashref_ng(1,2,3,4); my $ok = hashref_ok(1,2,3,4); p $ng; p $ok; 実行結果 % perl hashref.pl $VAR1 = 4; $VAR1 = { '1' => 2, '3' => 4 }; こんな常識も知らずにおりますよ

    perlでハッシュとかのカッコの前に付いてるプラスの意味 - 新だるろぐ跡地
    TaRO
    TaRO 2012/07/25
  • ウェブリブログ:サービスは終了しました。

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

    ウェブリブログ:サービスは終了しました。
    TaRO
    TaRO 2012/07/12
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • perldiag - さまざまな Perl 診断メッセージ - perldoc.jp

    These messages are classified as follows (listed in increasing order of desperation): (W) A warning (optional). (D) A deprecation (optional). (S) A severe warning (default). (F) A fatal error (trappable). (P) An internal error you should never see (trappable). (X) A very fatal error (nontrappable). (A) An alien error message (not generated by Perl). (W) 警告 (オプション) (D) 非推奨 (オプション) (S) 重大な警告 (デフォルト)

    TaRO
    TaRO 2012/06/04
  • Perlモジュールの読み込みに失敗する場合のチェックポイント - Qiita

    結論から言うと 3 のケースがいっちゃんだるい。 1. モジュールのパス通してるか このケースの典型エラーメッセージ Can't locate Foo/Bar.pm in @INC (※ 後述するがパスを通してない以外の原因でもこのメッセージが出ることがある) 対処法 use lib 'モジュールを置いてる Dir'; のしわすれてると思われる。ので、する。 use lib ってなんぞ? とか @INC がわからない場合はここを読むいいでしょう。 モジュールの検索パスを調べる @INC - サンプルコードによるPerl入門 さらに詳しい解説がほしいばあいは perldoc -v @INC するもよし、あるいはほとんどのPerl入門書に解説が書いてるのでそれを読むもよし。 2. モジュールの最後で 1; してるか このケースの典型エラーメッセージ Foo/Bar.pm did not ret

    Perlモジュールの読み込みに失敗する場合のチェックポイント - Qiita
    TaRO
    TaRO 2012/05/28
  • よいサブルーチンを作成するための心がけ。★★★ - サンプルコードによる Perl 入門

    Perl › サブルーチン › here サブルーチン作成に関するわたしの考えを殴り書きしました。 見出し 引数と戻り値について理解する。 小さなサブルーチンを作成する。 サブルーチンに柔軟性を持たせる。 呼び出しの階層を浅く保つ。 機能を実現するサブルーチンを作成する。 ユーザーを意識する。 将来を楽にすることを考える。 完全な抽象化は求めない。 1. 引数と戻り値について理解する サブルーチンを理解するためには、引数の受け取り方と、戻り値の返却のし方を覚えれば十分です。なぜなら、引数を受け取ってから、戻り値を返却をするまでは、今まで学習したプログラミングとなんら変わることがないからです。引数と戻り値の扱いを、覚えたら、すぐに実践に移りましょう。 サブルーチン作成で、難しいのは、以下の4点です。 何をサブルーチンにするか どのような名前をつけるか 引数を何にするか 戻り値を何にするか 正

    よいサブルーチンを作成するための心がけ。★★★ - サンプルコードによる Perl 入門
  • Perlによる日本語コード変換のメモ(第二版)

    Perlによる日語コード変換のメモ(第二版) hikoboshi.home / Perlによる日語コード変換のメモ(第二版) 前に書いたときと時代背景も知識も大幅に違うので、書き直してみることにしました。Perl 5.8以降を前提として考えます。 この文章で書く(つもりの)こと use utf8環境での、文字セットの考え方 発生しがちな文字化けとその原因 解決のヒント jcode.pl時代の文字セットの扱い まずは、jcode.plなどが全盛だった時代を思い出してみます。jcode.plの時代は、Unicodeはほぼ使われておらず、JIS, Shift_JIS, EUC_JPあたりの変換を行う事が主でした。実際のコードを見て、扱われ方を考察してみましょう。 #!/usr/bin/perl # jcode.plを用いたコード変換 require 'jcode.pl'; open my $

    TaRO
    TaRO 2012/05/21