http://www.perlmonks.org?node_id=593800


in reply to @INC problem with SOAP::Lite

Not really sure, but my guess would be that it has to do with the following piece of code (SOAP/Lite.pm, line 2500):

unless (defined(%{"${class}::"}) || exists($INC{join '/', split /::/ +, $class.'.pm'})) { # allow all for static and only specified path for dynamic binding +s local @INC = (($static ? @INC : ()), grep {!ref && m![/\\.]!} $sel +f->dispatch_to); eval 'local $^W; ' . "require $class"; die "Failed to access class ($class): $@" if $@; $self->dispatched($class) unless $static; }

in particular the local @INC = ...

A cursory glance at the surrounding lines makes me wonder what would happen if you "preload" Data::Dumper in the server (the idea being that it then already is loaded when the require is executed with the restricted @INC...).   Just an idea - could be entirely wrong, though.