PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Undefined subroutine &main...



nobody0
19-11-2003, 00:45
Mit dieser Fehlermeldung, genauer
Undefined subroutine &main::quote called at tmp1.pl line 18.
endet der Versuch dieses kleine Skript auszuführen:



#!/usr/bin/perl
###########################################
# An welchem Tag im Monat is IBM am
# teuersten?
# Mike Schilli, 2002 (m@perlmeister.com)
###########################################
use warnings;
use strict;

use QuoteDB 'quotes.db';

my %per_day = ();

for my $d (1 .. 31) {
for my $y (1995 .. 2001) {
for my $m (1 .. 12) {
my ($p) = ($per_day{$d} ||= []);
$p->[0] += quote("IBM", $y, $m, $d);
$p->[1]++;
$p->[2] = $p->[0] / $p->[1];
}
}
}

for my $d (sort { $per_day{$b}->[2] <=>
$per_day{$a}->[2] }
keys %per_day) {
printf "%02d: %.2f\n", $d,
$per_day{$d}->[2];
}


Aber auf einem zweiten, praktisch gleichen Rechner (Unter SuSE 9.0) funktioniert es problemlos (nach Installation von HtmlTableExtract und FinanceQuotehist).
Aber wieso? :confused:

Ich habe schon INC erweitert um die Verzeichnisse von HtmlTableExtract und FinanceQuotehist aber das reicht anscheinend nicht aus.
Merkwürdigerweise bekomme ich bei "echo $INC" nichts angezeigt und "env" enthält nichts mit dem string perl. Auf dem Rechner, wo es funktioniert, ist es ebenso. Wie kann das sein? :confused:

fork
19-11-2003, 16:43
quote( ) gibt's wirklich nicht, da hat der Herr Compiler schon recht, es gibt aber:

qq( )
qw( )
q( )
qr( )

Vielleicht gibt's quote( ) erst in der neuen Version.

nobody0
19-11-2003, 19:39
Also an der Version kann es nicht liegen - auf beiden Rechnern ist online-upgedatetes SuSE 9.0.
Ich habe sogar das Perl-Verzeichnis rekursiv rüberkopiert, aber keine Änderung :mad:
Was kann man da noch machen? :confused:

nobody0
22-11-2003, 20:24
Also heute funktioniert es wieder, obwohl nicht einmal reboot gemacht wurde :confused:
perl -V liefert auf beiden Rechnern identische Ausgaben.