du solltest es in einen BEGIN-block mit "use" machen!
Naja, das ginge nur in Ausnahmefällen, wenn die Variabel $module schon frühzeitig bekannt wäre. Trotzdem bräuchte er dann eval.
$modul ergibt sich bei ihm aus seiner Directorysuche.
Das kann jederzeit während der Laufzeit stattfinden.
und Begin-Blocks sind AFAIR eigentlich evals.
Das ist Unsinn.
Und:
#!/usr/bin/perl
use warnings;
use strict;
BEGIN {
my $modul = 'x';
use $modul;
}
ergibt:
syntax error at ..\test.pl line 7, near "use $modul"
Execution of ..\test.pl aborted due to compilation errors.
Struppi.