SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
2013年のCPAN
モジュール作成事情
Kenichi Ishigaki
(@charsbar)
Fukuoka Perl Workshop #24
Oct 26, 2013
(Happy CPAN birthday)
例によってCPANTSネタです

• 昨年こちらで話した分析の元ネタ
• この一年で、いろんなことがありました
• YAPC本編でもその一部について話してき
ました
• 今日はその続きとして、papixさんが話す
はずだったネタについて話します
まずは軽く昨年の
おさらいを
Top 10 (2012年版)
1 XAICRON
2 PAWAPAWA (new) (2011-)
3 BAYASHI
4 MORIYA
5 SATOH
6 MATTN (new) (2007-)
7 TOMITA
8 TYPESTER
9 CHIBA
10 YAMAMOTO (new) (2006-)
日本人の新規作者数 (2012年版)
60

51
50
43
41
40

29

30

27
25

20
20

17
14

14

2003

2004

11
10

8

6

5

0

~2000

2000

2001

2002

2005

2006

2007

2008

2009

2010

2011

2012
日本人作者のリリース数 (2012年版)
2500

2116

2041
2000
1841

1558

1500

1147
1020

1020

1000

569

500
245

295

291

173
41

47

~2000

2000

0

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012
それから1年
採点基準の変化
• 春のQA Hackathon以降、採点基準が7増
12減しています(YAPC後に1増しました)
• 実装の方もだいぶ修正しました
• が、今日もまた例外的なディストリビュー
ションの作者氏からバグレポートが…
• 明日にでもまた1つ基準を増やそうと思っ
ています
日本人のデータに
もかなりの脱落が…
0.130307 2013/03/07
- turned out to have long ignored authors
whose emails are CENSORED;
added nearly hundred people to the list.
実はYAPC後にもいろいろ発覚

0.130930 2013/09/30
- applied more liberal detection rule and added twelve people
(hideo55++)

0.131002 2013/10/02
- applied more liberal detection rule and added twelve people
(again)
(motemen++)
最終的に今年のグラフは
こんな感じになっています
日本人の新規作者数 (2013年版)
70
62
60
54

53
50

47
45
43

40
40

36
33
30

20
14

14

2003

2004

11
10

8
6

5

0

~2000

2000

2001

2002

2005

2006

2007

2008

2009

2010

2011

2012

2013
日本人作者のリリース数 (2013年版)
3000
2811

2500

2221
2135

1943

2000

1849
1604

1500
1149
1023
1000

569
500

247
41

2000

291
173

47

~2000

295

0

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

2013
Top 10 (2013年10月版)
1 BAYASHI (2008-)
2 YAKEX (new) (2012-)
3 MOZNION (new) (2012-)
3 HIDEAKIO (new) (2011-)
5 SYOHEX (new) (2011-)
5 AKIYM (new) (2012-)
7 SYAGI (new) (2012-)
7 ZIGUZAGU (new) (2007-)
7 CHIBA (inactive) (2007-)
10 ANAZAWA (new) (2011-)
10 PAPIX (new) (2012-)
10 SOH (new) (2012-)
10 PAWAPAWA (2011-)
10 MORIYA (inactive) (2009-)
10 RINTARO (inactive) (2007-)
若者の台頭、
すばらしいですね
• でも、この急激な変化の理由は?
• もちろん採点基準が変わった影響は
あるでしょうが、それだけ?
リリース年とスコアの関係
98

97.52

97

96.65
96.32

96.07

96

96.22

95.43
95.01
95

95.26

94.97
94.58

94
93.26

93.84
国内

93

93.07

92.45

全世界

92.42

92

91.47

92.03

91.44

91

90
89.23

89
88.94
88
2004

2005

2006

2007

2008

2009

2010

2011

2012

2013
リリース年とリリース数の関係
25000
22155

22582
21822

20998

20575

20000
18441

14455

15000
12268

12702

国内

11191

全世界

10000

5000

173

570

1024

1148

1603

2133

2221

2762

1934

1847

0

2004

2005

2006

2007

2008

2009

2010

2011

2012

2013
ディストリビューションを作成する
ツールの変化?

• ひな形を作成するツールの分析はなかなか大変
• 生成されたドキュメントに痕跡が残っていることも
ありますが…
• インストールまわりのツールについてはCPAN
Meta filesを見ればある程度分析可能
CPAN Meta files
• META.yml/META.json
• いちいちMakefile.PL/Build.PLを実
行しなくてもいいように
• 本格的な普及は2005年くらいから
• どんなツールで生成したかの情報が
記録されている
Stats on META Generator

http://cpants.cpanauthors.org/stats/meta_generator
META generatorと平均スコア(全世界版)
100.00

98.00

96.00

94.00

92.00

90.00

88.00
2004

2005

2006
ExtUtils::MakeMaker

2007
Module::Build

2008

2009

Module::Install

2010
Dist::Zilla

2011
Milla

Minilla

2012

2013
META generatorと平均スコア(国内版)
100.00

98.00

96.00

94.00

92.00

90.00

88.00

2004

2005

2006
ExtUtils::MakeMaker

2007
Module::Build

2008

2009

Module::Install

2010
Dist::Zilla

2011
Milla

Minilla

2012

2013
META generatorとユニークユーザ数 (全世界版)
2500

2000

49

396

191

312

9

1500

240

359

425
364

307

158
94

49
1000

236

295

256

73

310
237

328
350

320

192

324
316

30
121
500

889

962

993

1031

969

891

889

920
748

677

0
2004

2005

2006
ExtUtils::MakeMaker

2007

2008

Module::Build

2009
Module::Install

2010
Dist::Zilla

2011
Milla

Minilla

2012

2013
META generatorとユニークユーザ数 (国内版)
250

200

57
150
7

51
100

72
55

67
34

67

14

7

65

16
9
8

50

11

2
4
68

1

68

64

56

41

23

11

43

48

48

2010

2011

2012

32

39

20
0
2004

2005

2006
ExtUtils::MakeMaker

2007

2008

Module::Build

2009
Module::Install

Dist::Zilla

Milla

Minilla

2013
META generatorとリリース数 (全世界版)
25000

20000
992

3817

5865

86
15000
4275

6152

6967

5140
4070

2817
1541

10000

2383

3327

3655

942
2305

6938

4198

2783

1074
419

1945

3913
3260

3587

3083

733
1163
5000
6921

7247

2005

2006

7584

8506

7536

7213

6824

6966

2011

2012

5456

5745

0
2004

ExtUtils::MakeMaker

2007
Module::Build

2008

2009
Module::Install

2010
Dist::Zilla

Milla

Minilla

2013
META generatorとリリース数 (国内版)
3000

2500

4

2000

970

37
1500
227

1320

50

1488

1108

907

923
468

1000
175

503

109
500

164

146

9
86

81

320

377

428

138

690

0

31
115
2004

473

406

2005

2006
ExtUtils::MakeMaker

479

2007

2008

Module::Build

370

2009

497

364
2010

Module::Install

Dist::Zilla

329
2011
Milla

Minilla

349

2012

2013
満点に注目してみた
満点リリース数(国内版)

リリース数(国内版)

3000

3000

2500

2500

2000

2000

1500

1500

970

227

651
1000

923
468

1000
93
446

300

500

377

244

131

2012

2012

2013

349

2013

329

149

0

428

329

500

0

ExtUtils::MakeMaker

Module::Build

ExtUtils::MakeMaker

Module::Build

Module::Install

Dist::Zilla

Module::Install

Dist::Zilla

Milla

Minilla

Milla

Minilla
満点に注目してみた
満点リリース(全世界版)

リリース(全世界版)

25000

25000

20000

20000
1074
419

6938
15000

15000

6967
3327

10000

10000

1945

721
3885
5000

3587

3083

4047
5000

1014
1604

769
1451

2471

2133

2012

2013

0

6966

5745

0

2012

2013

ExtUtils::MakeMaker

Module::Build

ExtUtils::MakeMaker

Module::Build

Module::Install

Dist::Zilla

Module::Install

Dist::Zilla

Milla

Minilla

Milla

Minilla
Top10作者とMETA generators
BAYASHI
YAKEX
MOZNION
HIDEAKIO
SYOHEX

Module::Build, Minilla
Dist::Zilla
Minilla, Module::Build
Module::Build, Minilla
Minilla, Module::Install

AKIYM

Minilla, Module::Install,
Module::Build

SYAGI

ExtUtils::MakeMaker, Module::Build

ZIGUZAGU
ANAZAWA

Module::Install
Module::Install
Minilla, Module::Install,
Module::Build
Module::Install, Minilla
Module::Install

PAPIX
SOH
PAWAPAWA
これからモジュールを書くなら、
Minillaがおすすめ
• Minillaを使うと初心者でも形式的な問題を起こしづらい
• 最初はpmsetupとかModule::Setupでもいいんですが、
継続的なメンテを考えるとMinillaが有利
• いまもメンテナンスが続いている
• Module::Installは時代に取り残されつつある
• 大量の依存モジュールを気にしないならDist::Zillaや
Millaでも
• 知識があるならお好きなように
Minilla: CPANモジュールを
書く人のツール
• (M::I - inc) + shipit + (dzil - plugins)
• ひな形の作成からリリースまで、基本的なことは
ひと通りできる
• ほかのツールの使い方を覚える必要がない
• tokuhiromさんの流儀にしたがえば設定も不要
• 依存モジュールが少なくインストールが楽
• Windowsでも問題なくインストールできる
インストールには関与しない

• CPANモジュールを使うだけならインストール不要
• インストールは既存のツール(Module::Build)に
まかせる
• 依存モジュールの制約が少ない
基本的な使い方
新規の場合はまず
ひな形を用意
$ minil new Foo-Bar
$ cd Foo-Bar
minil new Foo::Bar でも大丈夫
お好みで初期状態を
コミットしておく
$ git commit -m "initial import"
git init && git add . はひな形作成時
に済んでいます。
.pmファイルやテスト
ファイルを編集する
依存モジュールが増えたら cpanfile も更新すること
gitの管理下にないファイルは無視されます
prove派の人はaddのし忘れに注意
META.jsonやBuild.PLなどへの修正は無効
minil dist (minil release) 時に上書きされます
• Changesの日付やバージョンは更新不要
• リリース前の変更は常に{{$NEXT}}の下に書いていく
•
•
•
•
テストを実行する
$ minil test
$ minil test --all
リリース時に自動実行されるテストも試したい場合
ディストリビューションを
生成する
$ minil build
もっぱらデバッグ用
tarballを生成
$ minil dist
$ minil dist --no-test
事故防止のため ./Build dist は殺されています
開発中のディストリビューション
をインストールする

$ minil install
$ minil install --no-test
• v0.8.0の時点ではデフォルトで二度テストが走ってしまう
→修正を取り込んでもらったので次版からは大丈夫
• ./Build install でも可
リリースの前に…
• buildtool_not_executable問題
• core.autocrlf
• Windowsでも使えますが、リリー
スだけは別の環境でするのがお
すすめ
CPANにリリースする
$ minil release
$ minil release --trial
• 書きかけのファイルが残っているとリリースできません
• ひとまず.gitignoreに追加するか、ファイルの存在自体隠蔽したい
場合はファイル名に.bakをつけるなどしてください
Githubにのみリリースする
(CPANにリリースしない)
$ FAKE_RELEASE=1 minil release
この辺、名前と実態があっていない気もします
CPANにもGithubにもリリース
したくない場合は--dry-run
$ minil release --dry-run
既存のモジュールを
Minilla化する
$ minil migrate
• subversionのリポジトリなどは先にgitのリポジトリに変換しておくこと
• gitリポジトリになっていない場合、v0.8.0の段階では自前でgit init必要
→これも修正を取り込んでもらえました
• 隠しファイルなどがあるとパーミッションエラーで変換が止まることも
• v0.8.0 時点ではMakefile.PLからの移行時に多少ゴミが残るので、気に
なる場合は削除
もう少し高度な使い方?

• tokuhiromさんの流儀にしたがう、という大
きなメリットが消えてしまうので、あまりお
すすめしません
• Minillaで頑張るよりは、Dist::Zillaに移行
した方が楽かと
XSモジュールを新規作成する

$ minil new -p XS Foo-XS
XSモジュールのmigrateの場合は-pオプション不要
設定ファイルを編集する
•
•
•

XSを書くのでなければ通常不要
Minillaのユースケース上はINIファイルと
ほぼ同じ書き方
デフォルトの設定が上書きされるものと、
そうでないものがあるので注意
Module::Buildの拡張機能を使う

• よほど特殊なことをしたいのでなければ
Dist::Zillaに…
• ディストリビューションのルートに
builder/MyBuilder.pmというファイルを作
成すると、Minillaが内部でModule::Build
を利用する際に拡張があたります
Questions?

Weitere ähnliche Inhalte

Andere mochten auch

Amon2 で造られた api サーバを引き継いで課金の実装をしました話
Amon2 で造られた api サーバを引き継いで課金の実装をしました話Amon2 で造られた api サーバを引き継いで課金の実装をしました話
Amon2 で造られた api サーバを引き継いで課金の実装をしました話Tomoo Amano
 
モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話
モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話
モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話Tomoo Amano
 
Mojoliciousのログ出力を改造する in chiba.pm #3
Mojoliciousのログ出力を改造する in chiba.pm #3Mojoliciousのログ出力を改造する in chiba.pm #3
Mojoliciousのログ出力を改造する in chiba.pm #3Ayumu Itou
 
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったMojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったTetsuya Tatsumi
 
PerlでWeb API入門
PerlでWeb API入門PerlでWeb API入門
PerlでWeb API入門Yusuke Wada
 
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみようMojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみようcharsbar
 
JSON, JSON::PP, and more
JSON, JSON::PP, and moreJSON, JSON::PP, and more
JSON, JSON::PP, and morecharsbar
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Yusuke Wada
 
Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Ayumu Itou
 
変数、リファレンス
変数、リファレンス変数、リファレンス
変数、リファレンスcharsbar
 
Perl logging
Perl loggingPerl logging
Perl loggingkeroyonn
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 

Andere mochten auch (13)

Amon2 で造られた api サーバを引き継いで課金の実装をしました話
Amon2 で造られた api サーバを引き継いで課金の実装をしました話Amon2 で造られた api サーバを引き継いで課金の実装をしました話
Amon2 で造られた api サーバを引き継いで課金の実装をしました話
 
モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話
モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話
モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話
 
Mojoliciousのログ出力を改造する in chiba.pm #3
Mojoliciousのログ出力を改造する in chiba.pm #3Mojoliciousのログ出力を改造する in chiba.pm #3
Mojoliciousのログ出力を改造する in chiba.pm #3
 
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったMojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
 
PerlでWeb API入門
PerlでWeb API入門PerlでWeb API入門
PerlでWeb API入門
 
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみようMojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
 
JSON, JSON::PP, and more
JSON, JSON::PP, and moreJSON, JSON::PP, and more
JSON, JSON::PP, and more
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編Gofのデザインパターン stateパターン編
Gofのデザインパターン stateパターン編
 
cpanfile
cpanfilecpanfile
cpanfile
 
変数、リファレンス
変数、リファレンス変数、リファレンス
変数、リファレンス
 
Perl logging
Perl loggingPerl logging
Perl logging
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 

Ähnlich wie 2013年のCPANモジュール作成事情

SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)Keizo Tatsumi
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528Atomu Hidaka
 
プロファイラGuiを用いたコード分析 20160610
プロファイラGuiを用いたコード分析 20160610プロファイラGuiを用いたコード分析 20160610
プロファイラGuiを用いたコード分析 20160610HIDEOMI SUZUKI
 
html5j パフォーマンス部第一回勉強会 Webパフォーマンス事始め
html5j パフォーマンス部第一回勉強会 Webパフォーマンス事始めhtml5j パフォーマンス部第一回勉強会 Webパフォーマンス事始め
html5j パフォーマンス部第一回勉強会 Webパフォーマンス事始めYoichiro Takehora
 
Interop2018 ブースセッション資料
Interop2018 ブースセッション資料Interop2018 ブースセッション資料
Interop2018 ブースセッション資料一清 井上
 
【Interop Tokyo 2016】 Network Automationによるクラウドネットワークのあり方
【Interop Tokyo 2016】  Network Automationによるクラウドネットワークのあり方【Interop Tokyo 2016】  Network Automationによるクラウドネットワークのあり方
【Interop Tokyo 2016】 Network Automationによるクラウドネットワークのあり方Juniper Networks (日本)
 
111114_GS道場事前企業勉強会
111114_GS道場事前企業勉強会111114_GS道場事前企業勉強会
111114_GS道場事前企業勉強会Global_Students
 
20211227 JAWS-UG初心者支部 LT大会 numaguchi
20211227 JAWS-UG初心者支部 LT大会 numaguchi20211227 JAWS-UG初心者支部 LT大会 numaguchi
20211227 JAWS-UG初心者支部 LT大会 numaguchiShigeru Numaguchi
 

Ähnlich wie 2013年のCPANモジュール作成事情 (10)

SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528
 
プロファイラGuiを用いたコード分析 20160610
プロファイラGuiを用いたコード分析 20160610プロファイラGuiを用いたコード分析 20160610
プロファイラGuiを用いたコード分析 20160610
 
html5j パフォーマンス部第一回勉強会 Webパフォーマンス事始め
html5j パフォーマンス部第一回勉強会 Webパフォーマンス事始めhtml5j パフォーマンス部第一回勉強会 Webパフォーマンス事始め
html5j パフォーマンス部第一回勉強会 Webパフォーマンス事始め
 
Interop2018 ブースセッション資料
Interop2018 ブースセッション資料Interop2018 ブースセッション資料
Interop2018 ブースセッション資料
 
【Interop Tokyo 2016】 Network Automationによるクラウドネットワークのあり方
【Interop Tokyo 2016】  Network Automationによるクラウドネットワークのあり方【Interop Tokyo 2016】  Network Automationによるクラウドネットワークのあり方
【Interop Tokyo 2016】 Network Automationによるクラウドネットワークのあり方
 
111114_GS道場事前企業勉強会
111114_GS道場事前企業勉強会111114_GS道場事前企業勉強会
111114_GS道場事前企業勉強会
 
研究
研究研究
研究
 
20211227 JAWS-UG初心者支部 LT大会 numaguchi
20211227 JAWS-UG初心者支部 LT大会 numaguchi20211227 JAWS-UG初心者支部 LT大会 numaguchi
20211227 JAWS-UG初心者支部 LT大会 numaguchi
 
Oracle Database統合のベスト・プラクティス
Oracle Database統合のベスト・プラクティスOracle Database統合のベスト・プラクティス
Oracle Database統合のベスト・プラクティス
 

Mehr von charsbar

Common boolean class_for_perl5
Common boolean class_for_perl5Common boolean class_for_perl5
Common boolean class_for_perl5charsbar
 
2018年夏のPerl5
2018年夏のPerl52018年夏のPerl5
2018年夏のPerl5charsbar
 
萬國之津梁
萬國之津梁萬國之津梁
萬國之津梁charsbar
 
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 codeBetter detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 codecharsbar
 
2017年夏のPerl
2017年夏のPerl2017年夏のPerl
2017年夏のPerlcharsbar
 
perl language update
perl language updateperl language update
perl language updatecharsbar
 
On UnQLite
On UnQLiteOn UnQLite
On UnQLitecharsbar
 
typemap in Perl/XS
typemap in Perl/XS  typemap in Perl/XS
typemap in Perl/XS charsbar
 
Annual Report 2012
Annual Report 2012Annual Report 2012
Annual Report 2012charsbar
 
DBD::SQLite
DBD::SQLiteDBD::SQLite
DBD::SQLitecharsbar
 
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its toolsCPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its toolscharsbar
 
CPANTS 2012
CPANTS 2012CPANTS 2012
CPANTS 2012charsbar
 
Revisiting ppm
Revisiting ppmRevisiting ppm
Revisiting ppmcharsbar
 
關於perl的 文件翻譯
關於perl的文件翻譯關於perl的文件翻譯
關於perl的 文件翻譯charsbar
 
Practical Bug Reporting
Practical Bug ReportingPractical Bug Reporting
Practical Bug Reportingcharsbar
 
Top Tens of 2008/2009
Top Tens of 2008/2009Top Tens of 2008/2009
Top Tens of 2008/2009charsbar
 

Mehr von charsbar (16)

Common boolean class_for_perl5
Common boolean class_for_perl5Common boolean class_for_perl5
Common boolean class_for_perl5
 
2018年夏のPerl5
2018年夏のPerl52018年夏のPerl5
2018年夏のPerl5
 
萬國之津梁
萬國之津梁萬國之津梁
萬國之津梁
 
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 codeBetter detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
 
2017年夏のPerl
2017年夏のPerl2017年夏のPerl
2017年夏のPerl
 
perl language update
perl language updateperl language update
perl language update
 
On UnQLite
On UnQLiteOn UnQLite
On UnQLite
 
typemap in Perl/XS
typemap in Perl/XS  typemap in Perl/XS
typemap in Perl/XS
 
Annual Report 2012
Annual Report 2012Annual Report 2012
Annual Report 2012
 
DBD::SQLite
DBD::SQLiteDBD::SQLite
DBD::SQLite
 
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its toolsCPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its tools
 
CPANTS 2012
CPANTS 2012CPANTS 2012
CPANTS 2012
 
Revisiting ppm
Revisiting ppmRevisiting ppm
Revisiting ppm
 
關於perl的 文件翻譯
關於perl的文件翻譯關於perl的文件翻譯
關於perl的 文件翻譯
 
Practical Bug Reporting
Practical Bug ReportingPractical Bug Reporting
Practical Bug Reporting
 
Top Tens of 2008/2009
Top Tens of 2008/2009Top Tens of 2008/2009
Top Tens of 2008/2009
 

2013年のCPANモジュール作成事情