--- nfo/perl/libs/libsetup.pm 2002/12/01 22:12:25 1.3 +++ nfo/perl/libs/libsetup.pm 2002/12/15 02:03:58 1.4 @@ -1,8 +1,11 @@ ################################# # -# $Id: libsetup.pm,v 1.3 2002/12/01 22:12:25 joko Exp $ +# $Id: libsetup.pm,v 1.4 2002/12/15 02:03:58 joko Exp $ # # $Log: libsetup.pm,v $ +# Revision 1.4 2002/12/15 02:03:58 joko +# + using Tie::IxHash to keep the order of modules (passed in via an array) +# # Revision 1.3 2002/12/01 22:12:25 joko # + changed status-flags: 0 => 'notok' 1 => 'ok' # @@ -18,56 +21,46 @@ # ################################# -package libsetup; -require Exporter; -@ISA = qw( Exporter ); -@EXPORT = qw( - Dumper - md5 md5_hex md5_base64 - ParseDate UnixDate - strftime - stripHtml stripSpaces stripNewLines toReal trim - croak - array_getDifference -); +package libsetup; use strict; use warnings; +use Tie::IxHash; - my @modules = qw( - Data::Dumper Digest::MD5 POSIX Carp - LWP::UserAgent HTML::PullParser - Date::Manip - DBI DBD::mysql - Set::Object Tangram Class::Tangram - WDDX - ); +my @modules = qw( + Data::Dumper Digest::MD5 POSIX Carp + LWP::UserAgent HTML::PullParser + Date::Manip + DBI DBD::mysql + Set::Object Tangram Class::Tangram + WDDX +); - sub setupCpanModule { - my $module = shift; - use CPAN; - print "try to setup module \"$module\"? (remember to be root) (y|n) "; - my $result = ; +sub setupCpanModule { + my $module = shift; + use CPAN; + print "try to setup module \"$module\"? (remember to be root) (y|n) "; + my $result = ; + print "\n"; + chomp($result); + if (lc($result) eq 'y') { + print "installing \"$module from CPAN\" ..."; + if (CPAN::install($module)) { +print "ok"; +return 1; + } else { +print "failed"; +exit; + } print "\n"; - chomp($result); - if (lc($result) eq 'y') { - print "installing \"$module from CPAN\" ..."; - if (CPAN::install($module)) { - print "ok"; - return 1; - } else { - print "failed"; - exit; - } - print "\n"; - #my $obj = CPAN::Shell->expand('Module',$module); - #$obj->install; - } + #my $obj = CPAN::Shell->expand('Module',$module); + #$obj->install; } +} sub checkCommonDeps { @@ -101,6 +94,7 @@ my $modules = shift; my @modules = @{$modules}; my $result; + tie %$result, 'Tie::IxHash'; map { my $evalcmd = "use $_;"; eval($evalcmd);