cpanmバージョンアップ

Introducing cpanm 1.6 (by miyagawa) - Tatsuhiko Miyagawa's blog

いろんなシンタックスが増えたようです。

cpanm MIYAGAWA/Plack-1.0015.tar.gz
cpanm Plack@1.0015
cpanm Plack@0.9930

cpanm --dev Plack

cpanm Plack~">= 1.0000, < 2.0000"
cpanm Plack~"== 1.0000"
cpanm Plack~">= 1.0000, != 1.0016"

# github master
cpanm git://github.com/miyagawa/CPAN-Test-Dummy-FromGit.git

# github branch
cpanm git://github.com/miyagawa/CPAN-Test-Dummy-FromGit.git@devel

# github tag
cpanm git://github.com/miyagawa/CPAN-Test-Dummy-FromGit.git@dc12b

最近perl本読み始めました


最近、業務で久しぶりにperlを使用することになり
いざ書こうとすると、いろいろ忘れてしまって、
手が進まなくなってた。


そこで、勉強しなおそうと
初めてのPerl 第5版を購入。今半分位読んだとこ。

初めてのPerl 第5版

初めてのPerl 第5版


これが凄くいい。正しく書いてるし分かりやすい。
随分前に入門書一冊読んだらなんとなく書けたけど
いろいろ間違った書き方してたんだなと、再実感。

あと

テストの章が無いのが残念。
↓を借りてきたので、「初めての…」を読み終えたら取り掛かろう。

Perl Testing: A Developer's Notebook (Developers Notebook)

Perl Testing: A Developer's Notebook (Developers Notebook)


それから、最近vps借りたのでplagger入れよう。

perlのインストールモジュールを調べる

#! /usr/bin/perl
use strict;

my %mod_list;

listup($_) for grep {$_ ne '.'} @INC;
#print "$_?n" for sort keys %mod_list;
print "$_\n" for sort keys %mod_list;

sub listup {
    my ($base, $path) = @_;
#    (my $mod = $path) =? s!/!::!g;
    (my $mod = $path) =~ s!/!::!g;

    opendir DIR, "$base/$path" or return;
#    my @node = grep {!/^?.?.?$/} readdir DIR;
    my @node = grep {!/^\.\.?$/} readdir DIR;
    closedir DIR;

    foreach (@node) {
#        if (/(.+)?.pm$/) { $mod_list{"$mod$1"} = 1 }
        if (/(.+)\.pm$/) { $mod_list{"$mod$1"} = 1 }
        elsif (-d "$base/$path$_") { listup($base, "$path$_/") }
    }
}


[^][\]が[?]に化けていたのを修正。コメント箇所。