Hello! В fvwm-perl (/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm) обнаружился следующий кусок кода: =========================================================================== sub import ($@) { my $class = shift; my $caller = caller; my $error = 0; my $name = "*undefined*"; while (@_) { $name = shift; if ($name eq 'base') { next if UNIVERSAL::isa($caller, __PACKAGE__); my $caller2 = (caller(1))[0]; eval " package $caller2; use FVWM::Constants; package $caller; use vars qw(\$VERSION \@ISA); use FVWM::Constants; \$VERSION = \$FVWM::Module::Toolkit::VERSION; \@ISA = qw(FVWM::Module::Toolkit); "; if ($@) { die "Internal error:\n$@"; } } else { my ($name0, $args) = split(/>?=/, $name, 2); my $mod = $args? "$name0 split(/,/, q{$args})": $name; eval " package $caller; use $mod; "; if ($@) { $error = 1; last; } } } if ($error) { my $scriptName = $0; $scriptName =~ s|.*/||; my $errorTitle = 'FVWM Perl library error'; my $errorMsg = "$scriptName requires Perl package $name to be installed.\n\n"; $errorMsg .= "You may either find it as a binary package for your distribution\n"; $errorMsg .= "or download it from CPAN, http://cpan.org/modules/by-module/ .\n"; $class->showMessage($errorMsg, $errorTitle, 1); print STDERR "[$errorTitle]: $errorMsg\n$@"; exit(1); } } =========================================================================== Используется это, например, таким образом: use FVWM::Module::Toolkit qw(FileHandle IO::Select X11::Protocol>=0.52 Tk>=804.025 Tk::Balloon Tk::DragDrop Tk::DropSite Tk::LabFrame Tk::BrowseEntry Tk::PNG); В результате perl.req не видит таких зависимостей. С этим вообще как-то можно бороться централизованно (т.е., запатчив этот самый sub import в FVWM::Module::Toolkit)? Или единственный способ - написать в том месте, где стоит use FVWM::Module::Toolkit, нормальные use на все используемые модули? -- Sergey Vlasov