給定一個CPAN DIST文件(例如像Acme-Chef-1.01.tar.gz
),什麼是該算法,以確定哪些模塊版本「定義」(或存在)在dist文件?從CPAN dist文件中獲取「已定義」模塊?
例如,在02packages.details.txt
文件中,有四條線對應於該DIST文件:
Acme::Chef 1.01 S/SM/SMUELLER/Acme-Chef-1.01.tar.gz
Acme::Chef::Container 1.00 S/SM/SMUELLER/Acme-Chef-1.01.tar.gz
Acme::Chef::Ingredient 1.00 S/SM/SMUELLER/Acme-Chef-1.01.tar.gz
Acme::Chef::Recipe 1.00 S/SM/SMUELLER/Acme-Chef-1.01.tar.gz
我基本上是想知道這些線路是如何產生的。
的程序是這樣的:
- 找到所有的
.pm
文件在dist文件 - 負載每個
.pm
文件,並打印出${ "${pkg}::VERSION"}
其中$pkg
是對應於.pm
文件的包名名(即,如果.pm
文件名Foo/Bar.pm
然後$pkg
是Foo::Bar
。)
是否存在執行此索引過程的代碼?
你真的有加載模塊,以確定它的版本是什麼?
它不執行模塊;只是包含$ VERSION – ikegami
的行你有沒有看到[關於暫停](http://pause.perl.org/pause/query?ACTION=pause_04about)? – ikegami