X ist nur ein perl Script, kein Package.
__SCRIPTANFANG: range.cgi__
#!/usr/bin/perl
use strict;
use File::Find;
my $smallest;
my $biggest;
sub range {
return unless ( $File::Find::name =~ /(\d+).$/ );
$smallest = $1 if ( !$smallest || $1 < $smallest );
$biggest = $1 if ( !$biggest || $1 > $biggest );
}
sub get_ID_Range {
my ( $path ) = @_;
return unless ( -d $path );
find( &range, $path );
return unless ( $smallest =~ /^\d+$/ && $biggest =~ /^\d+$/ );
return [ $smallest, $biggest ];
}
1;
__SCRIPTENDE__
das wird bei mir im Hauptscript per
require "range.cgi";
aufgerufen und es kommt die Fehlermeldung ...
__AUSZUGANFANG__
$range = get_ID_Range( $$C{Global}{BackupPath} );
__ENDEAUSZUG__
beide dateien liegen im gleichen pfad und wenn ich das require auskommentiere kommt die gleiche fehlermeldung.
wenn ich ein eval um das require mache kommt nix in $@ an.
auch "require or die $!" gibt nix aus...
alex.
Die Zeile die den Fehler angibt ruft auch die Funktion auf, aber obwohl die Funktion eingebunden ist rafft Perl das nicht, weiss jemand da nen Rat?
Bist du sicher, dass Perl das nicht rafft? Was ist dein Script X, ein stinknormales Perlscript oder ein Package? Im ersten Falle verstehe ich die Fehlermeldung nicht, aber im zweiten Fall wäre sie normal (Stichwort Namensräume). Zeige also mal den relevanten Code.
Siechfred