List of MooseX:: modules on CPAN
何か面白いものはないかと思い,CPAN上の最初のリリースではないMooseX一覧を出力するスクリプトを書いてみた。
#!perl -w use strict; use CPAN; use version; my $hatena = grep{ $_ eq '--hatena' } @ARGV; my %processed; foreach my $m(CPAN::Shell->expand(Module => q{/^MooseX::/})){ my $version = $m->cpan_version; next if $version eq 'undef'; next if $version =~ /\A [0\.]+ 1 0*\z/xms; # maybe the first release my($name) = $m->cpan_file =~ / ([\w-]+) - \Q$version\E /xms; next if not defined $name; next if $name !~ /\A MooseX /xms; next if $processed{$name}++; my $upload_date = $m->distribution->upload_date || ' '; if($hatena){ printf qq{- [http://search.cpan.org/dist/%s:title=%s] - %s %s\n}, $name, $name, qv($m->cpan_version), $upload_date; } else{ my $author = CPAN::Shell->expand(Author => $m->userid)->fullname; printf "%-40s %-10s %s %s\n", $name, qv($m->cpan_version), $upload_date, $author; } }
このスクリプトによれば,今のところ約100個のMooseXがあるようだ。
アップロード日時が取れたり取れなかったりする理由がよくわからない。
結果:
- MooseX-ABC - v0.02 2009-07-11
- MooseX-Accessors-ReadWritePrivate - v1.2.1
- MooseX-Alien - v1.00 2009-03-10
- MooseX-AlwaysCoerce - v0.03 2009-06-16
- MooseX-App-Cmd - v0.05 2009-07-06
- MooseX-Async - v0.07
- MooseX-AttributeDefaults - v0.02
- MooseX-AttributeHelpers - v0.21 2009-07-19
- MooseX-AttributeInflate - v0.02
- MooseX-Attributes-Curried - v0.03 2009-07-12
- MooseX-Blessed-Reconstruct - v0.02 2008-12-06
- MooseX-ClassAttribute - v0.09 2009-07-09
- MooseX-Clone - v0.04 2009-04-20
- MooseX-ConfigFromFile - v0.02 2008-01-23
- MooseX-Constructor-AllErrors - v0.007 2009-04-27
- MooseX-Control - v0.03
- MooseX-CurriedHandles - v0.03
- MooseX-DOM - v0.00004
- MooseX-Daemonize - v0.08 2008-09-07
- MooseX-Declare - v0.27
- MooseX-DeepAccessors - v0.02
- MooseX-Dumper - v0.02
- MooseX-Emulate-Class-Accessor-Fast - v0.00902 2009-07-10
- MooseX-Error-Exception-Class - v0.099
- MooseX-FollowPBP - v0.02 2009-02-17
- MooseX-Getopt - v0.20 2009-07-10
- MooseX-Getopt-Defanged - v1.14.1
- MooseX-GlobRef - v0.07 2009-02-27
- MooseX-GlobRef-Object - v0.06 2009-02-12
- MooseX-Has-Sugar - v0.0404
- MooseX-IOC - v0.03
- MooseX-InsideOut - v0.103 2009-04-27
- MooseX-InstanceTracking - v0.04 2009-07-06
- MooseX-Iterator - v0.11
- MooseX-KeyedMutex - v0.00003
- MooseX-LazyLogDispatch - v0.02 2007-12-21
- MooseX-LazyRequire - v0.03
- MooseX-Log-Log4perl - v0.40
- MooseX-LogDispatch - v1.2000
- MooseX-MakeImmutable - v0.02
- MooseX-Meta-Attribute-Index - v0.04
- MooseX-Meta-Attribute-Lvalue - v0.05
- MooseX-MetaDescription - v0.03 2008-05-25
- MooseX-Method - v0.44
- MooseX-Method-Signatures - v0.21
- MooseX-MethodAttributes - v0.15 2009-07-26
- MooseX-MultiMethods - v0.04 2009-08-16
- MooseX-MutatorAttributes - v0.12
- MooseX-NaturalKey - v0.02 2008-06-21
- MooseX-NonMoose - v0.05 2009-06-24
- MooseX-Object-Pluggable - v0.0011 2009-04-27
- MooseX-POE - v0.205
- MooseX-Param - v0.02 2007-12-12
- MooseX-Params-Validate - v0.12 2009-07-07
- MooseX-Plaggerize - v0.05 2009-04-06
- MooseX-Policy-SemiAffordanceAccessor - v0.02 2007-11-15
- MooseX-Q4MLog - v0.00002
- MooseX-RelatedClassRoles - v0.004 2009-04-13
- MooseX-Role-Cmd - v0.05
- MooseX-Role-Matcher - v0.05 2009-02-04
- MooseX-Role-Parameterized - v0.12 2009-08-16
- MooseX-Role-Restricted - v1.01 2009-03-16
- MooseX-Role-XMLRPC-Client - v0.04
- MooseX-Scaffold - v0.03
- MooseX-SemiAffordanceAccessor - v0.05 2009-07-15
- MooseX-SimpleConfig - v0.03 2008-01-23
- MooseX-Singleton - v0.19 2009-07-09
- MooseX-SingletonMethod - v0.03
- MooseX-SlurpyConstructor - v0.11
- MooseX-Storage - v0.21 2009-07-14
- MooseX-Storage-Format-XML-Simple - v0.04
- MooseX-StrictConstructor - v0.08 2009-04-07
- MooseX-Struct - v0.06
- MooseX-Templated - v0.02
- MooseX-Timestamp - v0.05 2008-08-10
- MooseX-Traits - v0.07
- MooseX-Traits-Attribute-CascadeClear - v0.03
- MooseX-Traits-Pluggable - v0.07 2009-07-23
- MooseX-Types - v0.19
- MooseX-Types-Authen-Passphrase - v0.02 2009-07-18
- MooseX-Types-DateTime - v0.04
- MooseX-Types-DateTime-ButMaintained - v0.09
- MooseX-Types-DateTimeX - v0.06
- MooseX-Types-IO - v0.03
- MooseX-Types-Path-Class - v0.05 2008-10-21
- MooseX-Types-Set-Object - v0.02 2008-06-26
- MooseX-Types-Structured - v0.18
- MooseX-Types-URI - v0.02 2009-05-27
- MooseX-Types-UUID - v0.02 2009-02-01
- MooseX-Types-VariantTable - v0.02 2009-04-21
- MooseX-WithCache - v0.00005
- MooseX-Workers - v0.09
- MooseX-YAML - v0.03 2009-05-01