CPAN よく使われるネーム王選手権

名前付けに困っていたところに、CPAN 長いネームスペース大会 - にぽたん研究所CPAN 階層の深いモジュール王選手権 - id:kazuhookuのメモ置き場をみて、CPANモジュールからアイデアをもらおうと思ってやってみた。 とりあえず1000回以上使われていたのは以下の名前。 (2009/02/20時点)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 3060 times: Net
2581 times: XML
2287 times: Plugin
1964 times: Bio
1743 times: Data
1696 times: HTML
1427 times: API
1346 times: WWW
1310 times: Test
1296 times: Class
1176 times: eBay
1140 times: Apache
1105 times: DateTime
1083 times: Text

さすがに、Net,XML,HTML,WWWなど、ウェブ関係が多いようです。 あと、Textが多いのはPerlの面目躍如でしょうか。テキスト処理は十八番ですからね。 ちなみに、200回以上使われている名前は、138個。 100回以上200回未満は、171個。 10回以上100回未満は、2109個。 5回以上10回未満は、1686個。 2回以上5回未満は、5803個。 1回だけは、21289個でした。

ソースコード

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl
use strict;
use warnings;
use CPAN::Config;
use IO::Uncompress::Gunzip qw($GunzipError);
use constant PRINT_TIMES => 1000;
my $package_file =
sprintf "%s/modules/02packages.details.txt.gz",
$CPAN::Config->{keep_source_where};
my %ranking = ();
my $z = IO::Uncompress::Gunzip->new($package_file) or die "$GunzipError\n";
while (my $line = $z->getline) {
my($package) = split /\s+/, $line, 2;
my @names = split /::/, $package;
foreach my $name (@names) {
$ranking{$name}++;
}
}
$z->close;
my $number = 1;
for my $name (sort { $ranking{$b} <=> $ranking{$a} } keys %ranking) {
last if $ranking{$name} < PRINT_TIMES();
printf "%5d times: %s\n", $ranking{$name}, $name;
}

200回以上1000回未満の名前は以下のとおり。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
  988 times: File
956 times: DBIx
943 times: Object
927 times: CGI
861 times: Template
850 times: POE
820 times: Mail
818 times: TimeZone
763 times: App
746 times: DataType
742 times: Catalyst
732 times: Locale
702 times: Config
700 times: Component
658 times: Meta
635 times: Simple
620 times: Perl
611 times: Filter
609 times: DBI
599 times: Server
593 times: DB
591 times: Search
582 times: HTTP
573 times: Base
561 times: Tools
545 times: Devel
544 times: Parse
530 times: Model
524 times: Parser
513 times: Games
507 times: Acme
500 times: Lingua
498 times: Math
489 times: Tk
489 times: Module
469 times: Engine
465 times: Amazon
462 times: Util
458 times: Win32
453 times: Client
452 times: Image
450 times: ICal
442 times: WebService
441 times: Session
439 times: UMMF
434 times: Call
432 times: Yahoo
428 times: Run
426 times: IO
409 times: Schema
381 times: Log
365 times: Jifty
357 times: SQL
355 times: Tie
353 times: Wx
348 times: View
333 times: Google
333 times: Command
330 times: Pod
324 times: Business
320 times: Response
315 times: PDF
315 times: Marketing
312 times: Cache
311 times: Graph
307 times: Request
306 times: Crypt
306 times: Apache2
305 times: Widget
305 times: Message
304 times: Driver
304 times: Backend
292 times: Paper
291 times: Specs
291 times: Utils
288 times: Element
284 times: Node
281 times: Protocol
281 times: Web
281 times: PiseApplication
278 times: Geo
278 times: MooseX
274 times: Tree
274 times: Graphics
273 times: DRI
273 times: SOAP
272 times: Audio
270 times: RDF
268 times: Email
268 times: America
268 times: Validate
267 times: Field
267 times: Date
264 times: Application
263 times: Kwiki
263 times: Query
260 times: Controller
260 times: Enum
258 times: Info
256 times: Language
255 times: Form
255 times: Exception
251 times: Algorithm
250 times: Encode
249 times: Critic
245 times: Action
243 times: Plagger
236 times: Agent
235 times: Bundle
232 times: Rose
223 times: Store
222 times: Finance
219 times: Type
218 times: Chart
218 times: Storage
217 times: String
217 times: Value
217 times: UI
215 times: Core
207 times: AFP
206 times: Handler
206 times: Error
204 times: Gtk2
200 times: Policy

Comments

comments powered by Disqus