Hallo, Am Fri, 24 Feb 2012, Lentes, Bernd schrieb:
David schrieb:
==================== less /root/.cpan/Bundle/Snapshot_2012_02_23_00.pm ... Bio::Species undef ... Bio::Taxon undef ... =================== Oder was bedeutet undef hier ?
Daß das Modul keine Version enthält (our $VERSION).
Das bedeutet konkret ? Modul vorhanden, aber keine Info zur Version ?
Korrekt. Bio::Taxon enthält keine eigene Version sondern holt sich die aus SUPER, d.h. aus use base qw(Bio::Tree::Node Bio::IdentifiableI); [..] sub version { my $self = shift; return $self->{'version'} = shift if @_; return $self->{'version'}; } Daher: "undef" als Version.
Falls diese beiden Möglichkeiten nicht dazu geeignet sind, alle installierten perl-Module anzuzeigen, welche Möglichkeit gibt es dazu ?
Autobundle ist geeignet. Wenn du nur testen willst ob ein Modul vorhanden ist gibt's aber bessere Alternativen ;)
Und die wären ?
Ich kenne perldoc -l xxx::yyy oder perl -Mxxx::yyy -e 'print "ok \n"' oder perl -Mxxx::yyy -e 'print "$xxx::yyy::VERSION\n"'
Letztere beide ;) Oder auch einfach nur: perl -Mfoo -e 1 $ perl -Mfoo -e 1 >/dev/null 2>&1; echo $? 2 $ perl -Mversion -e 1 >/dev/null 2>&1; echo $? 0 Kann man also prima in Scripten verwenden. if perl -Mfoo -e 1 >/dev/null 2>&1; then : ... fi oder if v=$(perl -Mfoo::bar -e 'print "$foo::bar::VERSION\n";'); then echo "foo::bar version $v found"; else echo "foo::bar not found"; fi Wenn du eine bestimmte Version brauchst solltest du das aber mit 'use' machen: if perl -e 'use foo::bar 1.006001 qw(baz);'; then echo "ok, found foo::bar >= 1.6.1" fi Vgl.: $ perl -e 'use Carp 1.16;'; echo $? 0 $ perl -e 'use Carp 1.21;'; echo $? Carp version 1.21 required--this is only version 1.17 at -e line 1. BEGIN failed--compilation aborted at -e line 1. 255 $ cpan [..] cpan[1]> m Carp CPAN: Storable loaded ok (v2.22) Going to read '/newsw/CPAN/Metadata' Database was generated on Thu, 23 Feb 2012 06:20:01 GMT Module id = Carp DESCRIPTION Throw exceptions outside current package CPAN_USERID P5P (The Perl5 Porters Mailing List <perl5-porters@perl.org>) CPAN_VERSION 1.25 CPAN_FILE Z/ZE/ZEFRAM/Carp-1.25.tar.gz [..] INST_FILE /usr/lib/perl5/5.12.3/Carp.pm INST_VERSION 1.17
Mein Bioperl meldet sich nach dieser Methode als 1.006001. Ich geh mal davon aus, daß damit 1.6 gemeint ist. Oder ?
Version 1.6.1. Siehe perldoc version::Internals zu den Details. HTH, -dnh -- [Stefan Wegmann sucht ein optisch ansprechendes Brennprogramm] Hhhhmmm, unter diesem Aspekt habe ich das ganze noch gar nicht betrachtet. Was würde denn Deinen gehobenen ästhetischen Ansprüchen entgegenkommen? Ein zartes Chartreuse im leicht fluffigen Kontrast zu einem frühlingshaften Ostereidottergelb? Mit Buttons im floralen Design und Chiffoneske Hilfsfenster mit einer luftig durchscheinenden Optik? -- Thomas Templin in suse-linux -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org