Plagger で何が使われているのかを一覧表示したいと思ったので,作ってみた.
まぁ指定されたモジュールを一度 require してやることで,そのモジュールで使われているモジュール (間接的に使われているものを含む) のパスを %INC に格納,それを一覧表示させているだけなのだけど..
#!/usr/bin/perl use strict; use warnings; my $module = shift || die "usage: $0 package"; unless ( eval "require $module" ) { die "error: $@"; } for my $module ( keys %INC ){ print "$module: $INC{$module}\n"; }
これを使うと,Plagger で使われているモジュールとそのパスはこんな感じ.
[y-kiri Perl 04:40:57 ] ./list_module.pl Plagger Number/Compare.pm: /Library/Perl/5.8.8/Number/Compare.pm DateTime/Format/W3CDTF.pm: /Library/Perl/5.8.8/DateTime/Format/W3CDTF.pm DateTime/TimeZone.pm: /Library/Perl/5.8.8/DateTime/TimeZone.pm Params/ValidateXS.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Params/ValidateXS.pm Cwd.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Cwd.pm IO/Uncompress/Adapter/Inflate.pm: /Library/Perl/5.8.8/IO/Uncompress/Adapter/Inflate.pm Digest/base.pm: /System/Library/Perl/5.8.8/Digest/base.pm DateTime/TimeZoneCatalog.pm: /Library/Perl/5.8.8/DateTime/TimeZoneCatalog.pm MIME/Type.pm: /Library/Perl/5.8.8/MIME/Type.pm URI.pm: /System/Library/Perl/Extras/5.8.8/URI.pm DateTime/Helpers.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/DateTime/Helpers.pm /System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Storable/autosplit.ix: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Storable/autosplit.ix File/Spec.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/File/Spec.pm File/Glob.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/File/Glob.pm DateTime/TimeZone/UTC.pm: /Library/Perl/5.8.8/DateTime/TimeZone/UTC.pm File/GlobMapper.pm: /Library/Perl/5.8.8/File/GlobMapper.pm YAML/Tag.pm: /Library/Perl/5.8.8/YAML/Tag.pm XSLoader.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/XSLoader.pm warnings/register.pm: /System/Library/Perl/5.8.8/warnings/register.pm Encode/Alias.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Encode/Alias.pm HTML/Tagset.pm: /System/Library/Perl/Extras/5.8.8/HTML/Tagset.pm Encode/Config.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Encode/Config.pm Template/Provider/Encoding.pm: /Library/Perl/5.8.8/Template/Provider/Encoding.pm Plagger/Feed.pm: /Library/Perl/5.8.8/Plagger/Feed.pm utf8.pm: /System/Library/Perl/5.8.8/utf8.pm Template/Provider.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Provider.pm Template/Exception.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Exception.pm YAML.pm: /Library/Perl/5.8.8/YAML.pm Exporter/Heavy.pm: /System/Library/Perl/5.8.8/Exporter/Heavy.pm File/Spec/Unix.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/File/Spec/Unix.pm HTTP/Request.pm: /Library/Perl/5.8.8/HTTP/Request.pm /Library/Perl/5.8.8/auto/Compress/Zlib/autosplit.ix: /Library/Perl/5.8.8/auto/Compress/Zlib/autosplit.ix AutoLoader.pm: /System/Library/Perl/5.8.8/AutoLoader.pm HTML/Entities.pm: /System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level/HTML/Entities.pm Plagger/CacheProxy.pm: /Library/Perl/5.8.8/Plagger/CacheProxy.pm XML/LibXML.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/XML/LibXML.pm Data/Dumper.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Data/Dumper.pm IO/Compress/Zlib/Extra.pm: /Library/Perl/5.8.8/IO/Compress/Zlib/Extra.pm IO/Handle.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/IO/Handle.pm SelectSaver.pm: /System/Library/Perl/5.8.8/SelectSaver.pm DateTime.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/DateTime.pm XML/SAX/Exception.pm: /System/Library/Perl/Extras/5.8.8/XML/SAX/Exception.pm XML/Atom.pm: /Library/Perl/5.8.8/XML/Atom.pm DateTime/Locale/Base.pm: /Library/Perl/5.8.8/DateTime/Locale/Base.pm HTTP/Date.pm: /Library/Perl/5.8.8/HTTP/Date.pm UNIVERSAL.pm: /System/Library/Perl/5.8.8/UNIVERSAL.pm /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Compress/Raw/Zlib/autosplit.ix: /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/Compress/Raw/Zlib/autosplit.ix Template/Stash/ForceUTF8.pm: /Library/Perl/5.8.8/Template/Stash/ForceUTF8.pm Encode/Unicode.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Encode/Unicode.pm XML/LibXML/XPathContext.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/XML/LibXML/XPathContext.pm Digest/MD5.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Digest/MD5.pm Template/Service.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Service.pm File/Path.pm: /System/Library/Perl/5.8.8/File/Path.pm IO/Compress/Gzip/Constants.pm: /Library/Perl/5.8.8/IO/Compress/Gzip/Constants.pm FindBin.pm: /System/Library/Perl/5.8.8/FindBin.pm IO/Compress/Adapter/Deflate.pm: /Library/Perl/5.8.8/IO/Compress/Adapter/Deflate.pm Template/Constants.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Constants.pm Class/Accessor.pm: /Library/Perl/5.8.8/Class/Accessor.pm URI/Fetch.pm: /Library/Perl/5.8.8/URI/Fetch.pm Template/Config.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Config.pm IO/Seekable.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/IO/Seekable.pm File/Copy.pm: /System/Library/Perl/5.8.8/File/Copy.pm base.pm: /System/Library/Perl/5.8.8/base.pm Encode.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Encode.pm IO/Uncompress/RawInflate.pm: /Library/Perl/5.8.8/IO/Uncompress/RawInflate.pm File/Basename.pm: /System/Library/Perl/5.8.8/File/Basename.pm Config.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Config.pm integer.pm: /System/Library/Perl/5.8.8/integer.pm Plagger/FeedParser.pm: /Library/Perl/5.8.8/Plagger/FeedParser.pm DateTime/Format/Mail.pm: /Library/Perl/5.8.8/DateTime/Format/Mail.pm Carp.pm: /System/Library/Perl/5.8.8/Carp.pm LWP/Protocol.pm: /Library/Perl/5.8.8/LWP/Protocol.pm constant.pm: /System/Library/Perl/5.8.8/constant.pm Class/Accessor/Fast.pm: /Library/Perl/5.8.8/Class/Accessor/Fast.pm IO/File.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/IO/File.pm Plagger/ConfigLoader.pm: /Library/Perl/5.8.8/Plagger/ConfigLoader.pm URI/Escape.pm: /System/Library/Perl/Extras/5.8.8/URI/Escape.pm XML/LibXML/Literal.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/XML/LibXML/Literal.pm DynaLoader.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/DynaLoader.pm File/Find/Rule.pm: /Library/Perl/5.8.8/File/Find/Rule.pm Compress/Raw/Zlib.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Compress/Raw/Zlib.pm HTTP/Status.pm: /Library/Perl/5.8.8/HTTP/Status.pm List/Util.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/List/Util.pm YAML/Node.pm: /Library/Perl/5.8.8/YAML/Node.pm MIME/Types.pm: /Library/Perl/5.8.8/MIME/Types.pm Plagger/Walker.pm: /Library/Perl/5.8.8/Plagger/Walker.pm File/Find.pm: /System/Library/Perl/5.8.8/File/Find.pm XML/LibXML/Common.pm: /System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level/XML/LibXML/Common.pm Fcntl.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Fcntl.pm Symbol.pm: /System/Library/Perl/5.8.8/Symbol.pm Plagger.pm: /Library/Perl/5.8.8/Plagger.pm YAML/Base.pm: /Library/Perl/5.8.8/YAML/Base.pm Scalar/Util.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Scalar/Util.pm Exporter.pm: /System/Library/Perl/5.8.8/Exporter.pm XML/Atom/ErrorHandler.pm: /Library/Perl/5.8.8/XML/Atom/ErrorHandler.pm DateTime/Locale/en.pm: /Library/Perl/5.8.8/DateTime/Locale/en.pm Template.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template.pm DateTime/LocaleCatalog.pm: /Library/Perl/5.8.8/DateTime/LocaleCatalog.pm Plagger/Update.pm: /Library/Perl/5.8.8/Plagger/Update.pm Plagger/Cookies.pm: /Library/Perl/5.8.8/Plagger/Cookies.pm DateTime/Locale/root.pm: /Library/Perl/5.8.8/DateTime/Locale/root.pm IO/Compress/Gzip.pm: /Library/Perl/5.8.8/IO/Compress/Gzip.pm XML/Feed/RSS.pm: /Library/Perl/5.8.8/XML/Feed/RSS.pm Plagger/UserAgent.pm: /Library/Perl/5.8.8/Plagger/UserAgent.pm DateTime/TimeZone/Floating.pm: /Library/Perl/5.8.8/DateTime/TimeZone/Floating.pm XML/LibXML/NodeList.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/XML/LibXML/NodeList.pm IO/Uncompress/Base.pm: /Library/Perl/5.8.8/IO/Uncompress/Base.pm URI/Fetch/Response.pm: /Library/Perl/5.8.8/URI/Fetch/Response.pm Encode/Encoding.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Encode/Encoding.pm LWP/MemberMixin.pm: /Library/Perl/5.8.8/LWP/MemberMixin.pm XML/Feed.pm: /Library/Perl/5.8.8/XML/Feed.pm IO/Uncompress/Gunzip.pm: /Library/Perl/5.8.8/IO/Uncompress/Gunzip.pm HTTP/Cookies/Netscape.pm: /Library/Perl/5.8.8/HTTP/Cookies/Netscape.pm bytes.pm: /System/Library/Perl/5.8.8/bytes.pm strict.pm: /System/Library/Perl/5.8.8/strict.pm vars.pm: /System/Library/Perl/5.8.8/vars.pm Plagger/Thing.pm: /Library/Perl/5.8.8/Plagger/Thing.pm Template/Stash/XS.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Stash/XS.pm Class/ErrorHandler.pm: /Library/Perl/5.8.8/Class/ErrorHandler.pm IO/Compress/Base.pm: /Library/Perl/5.8.8/IO/Compress/Base.pm Plagger/Cache.pm: /Library/Perl/5.8.8/Plagger/Cache.pm Params/Validate.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Params/Validate.pm Plagger/Text.pm: /Library/Perl/5.8.8/Plagger/Text.pm HTTP/Headers.pm: /Library/Perl/5.8.8/HTTP/Headers.pm Storable.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Storable.pm re.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/re.pm Plagger/Template.pm: /Library/Perl/5.8.8/Plagger/Template.pm HTML/Parser.pm: /System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level/HTML/Parser.pm File/Spec/Functions.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/File/Spec/Functions.pm DateTime/Infinite.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/DateTime/Infinite.pm Compress/Zlib.pm: /Library/Perl/5.8.8/Compress/Zlib.pm Time/Local.pm: /System/Library/Perl/5.8.8/Time/Local.pm warnings.pm: /System/Library/Perl/5.8.8/warnings.pm UNIVERSAL/require.pm: /System/Library/Perl/Extras/5.8.8/UNIVERSAL/require.pm LWP/UserAgent.pm: /Library/Perl/5.8.8/LWP/UserAgent.pm DateTime/TimeZone/Local.pm: /Library/Perl/5.8.8/DateTime/TimeZone/Local.pm XML/Feed/Entry.pm: /Library/Perl/5.8.8/XML/Feed/Entry.pm XML/Feed/Content.pm: /Library/Perl/5.8.8/XML/Feed/Content.pm LWP/Debug.pm: /Library/Perl/5.8.8/LWP/Debug.pm Template/Document.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Document.pm HTTP/Response.pm: /Library/Perl/5.8.8/HTTP/Response.pm IO/Compress/RawDeflate.pm: /Library/Perl/5.8.8/IO/Compress/RawDeflate.pm HTTP/Headers/Util.pm: /Library/Perl/5.8.8/HTTP/Headers/Util.pm HTTP/Cookies.pm: /Library/Perl/5.8.8/HTTP/Cookies.pm Text/Glob.pm: /Library/Perl/5.8.8/Text/Glob.pm Feed/Find.pm: /Library/Perl/5.8.8/Feed/Find.pm Template/VMethods.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/VMethods.pm Template/Stash.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Stash.pm DateTime/Duration.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/DateTime/Duration.pm XML/LibXML/Boolean.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/XML/LibXML/Boolean.pm DateTime/TimeZone/OffsetOnly.pm: /Library/Perl/5.8.8/DateTime/TimeZone/OffsetOnly.pm LWP.pm: /Library/Perl/5.8.8/LWP.pm IO.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/IO.pm Plagger/Date.pm: /Library/Perl/5.8.8/Plagger/Date.pm DateTime/Locale.pm: /Library/Perl/5.8.8/DateTime/Locale.pm HTTP/Message.pm: /Library/Perl/5.8.8/HTTP/Message.pm IO/Compress/Base/Common.pm: /Library/Perl/5.8.8/IO/Compress/Base/Common.pm Plagger/Util.pm: /Library/Perl/5.8.8/Plagger/Util.pm Template/Base.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/Template/Base.pm Plagger/Entry.pm: /Library/Perl/5.8.8/Plagger/Entry.pm Encode/Guess.pm: /System/Library/Perl/5.8.8/darwin-thread-multi-2level/Encode/Guess.pm overload.pm: /System/Library/Perl/5.8.8/overload.pm DateTime/Format/Strptime.pm: /Library/Perl/5.8.8/DateTime/Format/Strptime.pm Plagger/Subscription.pm: /Library/Perl/5.8.8/Plagger/Subscription.pm XML/LibXML/Number.pm: /Library/Perl/5.8.8/darwin-thread-multi-2level/XML/LibXML/Number.pm