Just getting started with Perl? Try these free learning resources from the Perl community
※追記2010-03-28 この記事は何年も前に書いたものです。現在はまったく参考になりません。今からCPANモジュールをインストールしようとしている方はmiyagawaさん作 App::cpanminus を使うと幸せになれます。 cpanmの記事はココで書いてます。参考になれば・・ CPAN って何? 一言で言えば perl module をインストールするためのモジュールなのです。 CPAN.pm を使うと perl モジュールのインストールが驚くほど簡単になります。ただし初めて CPAN を使用する場合には以下の要領で設定が必要な場合があります。#ほとんどの部分は [Enter] を押すだけなんですが... CPAN の初期設定 ※全ての作業は root で実行 [root@celeron2 /root]# perl -MCPAN -e shell /usr/lib/perl5/5
Perlは問題点の多い言語と言われますが、やはり実用性は本当に高いな、と思う今日このごろ。大きなプログラムを書いても遅くならないし。 さて、2つの配列の積集合(共通する要素)、和集合(いずれか一方または両方に含まれる要素)、差集合(一方にのみ含まれる要素)を求めるには、List::Compare が便利みたいなので試してみた。 #!/usr/bin/perl use List::Compare; # 比較する二つの配列 my @list1 = ('a', 'b', 'c'); my @list2 = ('b', 'c', 'd'); my $lc = List::Compare->new(\@list1, \@list2); # 積集合 (@list1, @list2 両方の配列に含まれる要素) my @intersection = $lc->get_intersection; print
メトリクス解析ツール Perl コードのメトリクス解析には Perl::Metrics::Lite やコマンドラインツールの App::plmetrics を使用します。 plmetrics App::plmetrics モジュールにはコマンドラインでメトリクス解析を簡単に行う plmetrics が含まれています。 $ plmetrics --module Encode /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode.pm .---------------------------------------------------. | | avg | max | min | range | sum | methods | +-------+-------+-----+-----+-------+-----+---------+ | c
名前¶ Inline - 他のプログラミング言語でPerlのサブルーチンを作成する。 概要¶ use Inline C; print "9 + 16 = ", add(9, 16), "\n"; print "9 - 16 = ", subtract(9, 16), "\n"; __END__ __C__ int add(int x, int y) { return x + y; } int subtract(int x, int y) { return x - y; } 説明¶ Inlineモジュールは他のプログラミング言語からのソースコードをPerlスクリプトやモジュールに直接"Inline"(=一緒)に入れることを可能にします。コードは自動的に必要に合わせてコンパイルされ、そしてPerlからすぐにアクセスするためにロードされます。 InlineはXSやSWIGといった手段を使って、独
Log::Dispatch::Screen::Color で色つきログでデバッグ! - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? Log::Dispatch はログの出力先を標準エラーやファイルへの書き込み、メールで飛ばしたり、DBI で DB に突っ込んだり、と Log::Dispatch::* を指定して切り替えられる便利 logger です。 use Log::Dispatch; use Log::Dispatch::File; my $dispatcher = Log::Dispatch->new; # ファイルへの出力 $dispatcher->add( Log::Dispatch::File->new( name => 'file1', min_level => 'debug', fil
Perl5.9の時点では,assersionsと-Aコマンドラインスイッチという仕組みでCのassert(3)のようなことができるようになるはずだったらしい。しかし,そのメカニズムはPerl5.10には結局採用されなかった。 開発中はassert()が欲しい,しかし,リリース後の実行時パフォーマンスは落としたくない,というのがAssertを考えるときのジレンマというわけだ。そんななかで,CPANのCapr::Assertは関数呼び出しを完全に消し去ることができるので悪くない方法だと思う。 use Carp::Assert; assert($x > 1) if DEBUG; DEBUGはCarp::Assertの提供する定数関数で,その値が偽ならばこの一文はコンパイル時に完全に削除される。 $ PERL_NDEBUG=0 perl -MO=Deparse -MCarp::Assert \ >
会社のあやしい人から Perl CPAN モジュールガイドを借りてちょい読んでみたら手元に置いておきたくなったので Amazon でぽちりました。最近(といっても結構前だけど・・・)購入した Perl 本を思い返してみると、PERL HACKS とモダン Perl 入門も手元に置いておきたくてぽちった参考書ですが、日常的な実用度からすると本書の方が上かもしれない。特に CPAN の存在を知っていて Perl を使っているプログラマなら手元に置いておいて損はないと思う。 なんといっても、本書の特徴は今現在はやり or イケてるモジュールをある程度選別して紹介していること。正直に言うと僕自身、本書に記述されているモジュールのうち 1/3 くらいは存在すら知らなかったものがあります。日常業務から離れた位置にあるモジュールは必要としないので知らない。そんな知らないモジュールの存在を知る良いきっかけ
追記:なーんだ、やっぱりありました。 cpan -a を使えばいいらしい。 id:hiboma ありがとうございました。 何台かのサーバを扱っていると、サーバによってインストール済みのモジュールのバージョンが違ったり、インストールされてなかったりしてよく困ります。デプロイしてからエラーになって気づいたりするので心臓に悪いです。 どうしたものかと考えて、パッケージ名とバージョン番号のリストだけテキストファイルに書き出しておいて、デイリーで更新するようにすれば最低限の世代管理?にはなるかな、と考えました。 先人の成果にあやかろうと CPAN を探したのですが、どうも望み通りのものが見つからない。 id:tomyhero に教えてもらった Pod::ProjectDocs はブラウザで見るにはとても便利ですが、肝心のパッケージ名が JS オブジェクトとして書かれていて、 Perl から扱うのがち
cpanのモジュール群を使いたいというのでperlを使い始めたんですが、肝心のcpanの使い方がイマイチ解っていなくて、いつも恐る恐る使っていたので、メモ代わりにまとめる事にしました。 まずはcpanコマンド自体の使い方等 最初にする事 # 最初にcpanコマンドを叩いた時にプロンプトに従って設定をした後に cpan> install Bundle::CPAN cpan> reload cpan これでヒストリとタブ補完が可能になる。 cpanの設定 初期設定 (最初にcpanコマンド叩いた時のプロンプトを再度実行する) cpan> o conf init 書込み cpan> o conf commit 設定確認 cpan> o conf 個別設定 cpan> o conf item $value モジュールの更新 インストール済みモジュール一覧の表示 $ find `perl -e 'p
モジュール ここまでは Socket、IO::Socket、IO::Select モジュールを 使ってきましたが、これらは標準モジュールですので わざわざインストールする必要はありませんでした。 この他にも、さらに便利なモジュール Net::POP3 と Mail::POP3Client Net::FTP などがありますが、どちらも (少なくとも perl5.005_05 の時点では) 標準モジュールではないので、自分でインストールしなければいけません。 まず、モジュールの探し方ですが、 Net::POP3 モジュールは libnet-1.0607.tar.gz というファイルに 含まれています。このように、モジュール名とアーカイブ名が 別々なこともありますので注意して下さい。 アーカイブ名がわかっているなら http://www.ring.gr.jp/local/search-j.htm
このサイトは、CPANに登録されているモジュールをお気に入りリストとしてコメントをつけて登録したり、他人のお気に入りモジュールの一覧を見たりすることが出来ます。 主な機能 CPANモジュールの検索 コメントをつきのお気に入りリスト モジュールのバージョンアップの検知 モジュールに関する他人のコメント閲覧 他人のお気に入りリスト閲覧 自分のお気に入りリストを自分のBlogに貼り付けられる CPANモジュールに対してトラックバック送信可能 お気に入りに登録しないモジュールに対してメモを残せる del.icio.usなどと同等のタグ機能によるお気に入り整理 タグを指定して、Blogに貼り付けるリストを変更可能 簡易ソースコードビューワー バージョンアップ通知メール モジュール人気ランキング 現在の所、それ以上でもそれ以下でもないですが、将来的には色々拡張するはず。 利用者が出来たときのToD
2010年08月23日08:00 カテゴリLightweight Languages perl - Data::Decycle で悪循環を断とう! Data::Decycleというモジュールをリリースしたのでお知らせします。 /lang/perl/Data-Decycle/trunk - CodeRepos::Share - Trac dankogai's p5-data-decycle at master - GitHub Dan Kogai / Data::Decycle - search.cpan.org Perlは循環参照が苦手 有名な話ですが、Perlで循環参照を作ると、プログラムが終了するまでその分のメモリーは解放されません。 perlobj - search.cpan.org use strict; use warnings; { package Dummy; sub new
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く