Thread Version eines Moduls herausfinden (25 answers)
Opened by cbxk1xg at 2005-01-10 09:47

pfuschi
 2005-01-10 17:53
#4035 #4035
User since
2004-03-31
198 Artikel
BenutzerIn
[default_avatar]
Servus,
ich hatte mal ein kleines Tool geschrieben welches mir einen Version-Tree ausgab.
Da habe ich folgendes sub geschrieben:
Code: (dl )
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
sub getVersion {
my $file = shift;
my $c = "";
open(MOD, $file) or die $!;

my $inpod = 0;
my $result;

# Thieved from Module::Info which itself thieved from
# ExtUtils::MM_Unix 1.12603
while (<MOD>) {
$inpod = /^=(?!cut)/ ? 1 : /^=cut/ ? 0 : $inpod;
next if $inpod || /^\s*#/;

chomp;
next unless /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/;
my $eval = qq{
package vTree::_version;
no strict;

local $1$2;
\$$2=undef; do {
$_
}; \$$2
};
$c = $1 if/(#.*$)/;
local $^W = 0;
$result = eval($eval);
warn "Could not eval '$eval' in $parsefile: $@" if $@;
$result = "undef" unless defined $result;
last;
}
close MOD;

return ([$result,$c]);
}

muss abe rgestehen dass ich es im Moment nicht aus dem Stehgreif erklären kann :p

greetz & fetten Segen
manu\n\n

<!--EDIT|pfuschi|1105372414-->
PCE - Editor für Perl in Perl
Bookzilla.de - Mit jedem Kauf OpenSource unterstützen
"I know I can't hold the hate inside my mind
cause what consumes your thoughts controls your life"
- Creed

View full thread Version eines Moduls herausfinden