Thread Probleme beim Testen von Class::Util
(5 answers)
Opened by skirnir at 2008-10-01 12:02
Hallo,
beim Versuch Class::Util zu installieren schlägt 'make test' folgendermaßen fehl: Code: (dl
)
1 t/11_load.................NOK 2/5 Die Funktion in Util.pm sieht folgendermaßen aus: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 ; sub load { local $_ = $_[0] if defined $_[0] ; my $r = eval "require $_;" ; if ($@) { (my $c = $_.'.pm') =~ s|\b::\b|/|g ; croak $@ if $@ !~ /^Can't locate $c in \@INC/ || not defined %{$_.'::'} # <--- Zeile 30 } ; $r } Das obere ist der von Domizio Demichelis favorisierte Perlish Coding Style, deshalb der Lesbarkeit halber derselbe Auszug nochmal nach einem perltidy Durchlauf: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 sub load { local $_ = $_[0] if defined $_[0]; my $r = eval "require $_;"; if ($@) { ( my $c = $_ . '.pm' ) =~ s|\b::\b|/|g; croak $@ if $@ !~ /^Can't locate $c in \@INC/ || not defined %{ $_ . '::' }; # <--- Zeile 30 } $r; } Ich glaube schon, dass ich im Groben verstehe, was die Funktion macht, aber ausgerechnet was mit der Zeile 30 bezweckt wird, ist mir schleierhaft. Kann mir vielleicht jemand einerseits erklären, was die Dereferenzierung in der Zeile bezweckt und hat jemand eine Idee, unter welchen Voraussetzungen ich den Test bestehen kann? Umgebung ist perl 5.10.0 unter Fedora 9. Ich habe diese Version von Class::Util schon erfolgreich mit perl 5.8.8 und 5.8.5 installiert. Liegt das Problem vielleicht im perldelta? |