<html>
<head>
<style>
P
{
margin:0px;
padding:0px
}
body
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body>
<br><br>> From: luismottacampos@yahoo.co.uk<br>> Date: Thu, 21 Jun 2007 12:12:44 +0200<br>><br>> Se ao invés de somar 1, você modificar %INC (Sim, o HASH, não o <br>> ARRAY!), você vai ficar feliz?<br><br>Opa, ajudou a entender o problema!<br><br>> Tente resolver o mesmo problema, para um "exemplo real":<br>> <br>> {<br>> # Big::Company::Config é um Singleton<br>> # devolve 'Big::Company::Mock::Object' no ambiente de teste<br>> my $class = Big::Company::Config->instance->get <br>> ( 'Big::Company::Object' );<br>> BEGIN {<br>> eval { use $class; }; # pode ser Mock::Object!<br>> # FIXME: implement error handling ;-)<br>> }<br>> }<br><br>Além de deixar o módulo "mock" no ambiente de desenvolvimento e o de verdade de em produção, ambos com o mesmo nome?<br><br>Veja se isso ajuda:<br><br>Dentro do código Perl que eu peguei de cobaia:<br><br><code><br>use warnings;<br>use strict;<br>use Digest::MD5 qw(md5_base64);<br></code><br><br>Usei o debugger para fazer isso:<br><br> DB<4> x *main::INC{HASH}<br>0 HASH(0x226118)<br> 'ActivePerl/Config.pm' => 'C:/Perl/lib/ActivePerl/Config.pm'<br> 'ActiveState/Path.pm' => 'C:/Perl/lib/ActiveState/Path.pm'<br> 'AutoLoader.pm' => 'C:/Perl/site/lib/AutoLoader.pm'<br> 'C:/Perl/site/lib/sitecustomize.pl' => 'C:/Perl/site/lib/sitecustomize<br> 'Carp.pm' => 'C:/Perl/lib/Carp.pm'<br> 'Carp/Heavy.pm' => 'C:/Perl/lib/Carp/Heavy.pm'<br> 'Config.pm' => 'C:/Perl/lib/Config.pm'<br> 'Config_heavy.pl' => 'C:/Perl/lib/Config_heavy.pl'<br> 'Cwd.pm' => 'C:/Perl/lib/Cwd.pm'<br> 'Digest/MD5.pm' => 'C:/Perl/lib/Digest/MD5.pm'<br> 'Digest/base.pm' => 'C:/Perl/lib/Digest/base.pm'<br> 'DynaLoader.pm' => 'C:/Perl/lib/DynaLoader.pm'<br> 'Exporter.pm' => 'C:/Perl/lib/Exporter.pm'<br> 'File/Basename.pm' => 'C:/Perl/lib/File/Basename.pm'<br> 'IO.pm' => 'C:/Perl/lib/IO.pm'<br> 'IO/Handle.pm' => 'C:/Perl/lib/IO/Handle.pm'<br> 'SelectSaver.pm' => 'C:/Perl/lib/SelectSaver.pm'<br> 'SelfLoader.pm' => 'C:/Perl/lib/SelfLoader.pm'<br> 'Symbol.pm' => 'C:/Perl/lib/Symbol.pm'<br> 'Term/Cap.pm' => 'C:/Perl/lib/Term/Cap.pm'<br> 'Term/ReadKey.pm' => 'C:/Perl/lib/Term/ReadKey.pm'<br> 'Term/ReadLine.pm' => 'C:/Perl/lib/Term/ReadLine.pm'<br> 'Term/ReadLine/Perl.pm' => 'C:/Perl/lib/Term/ReadLine/Perl.pm'<br> 'Term/ReadLine/readline.pm' => 'C:/Perl/lib/Term/ReadLine/readline.pm'<br> 'XSLoader.pm' => 'C:/Perl/lib/XSLoader.pm'<br> 'attributes.pm' => 'C:/Perl/lib/attributes.pm'<br> 'constant.pm' => 'C:/Perl/lib/constant.pm'<br> 'dumpvar.pl' => 'C:/Perl/lib/dumpvar.pl'<br> 'perl5db.pl' => 'C:/Perl/lib/perl5db.pl'<br> 're.pm' => 'C:/Perl/lib/re.pm'<br> 'strict.pm' => 'C:/Perl/lib/strict.pm'<br> 'vars.pm' => 'C:/Perl/lib/vars.pm'<br> 'warnings.pm' => 'C:/Perl/lib/warnings.pm'<br> 'warnings/register.pm' => 'C:/Perl/lib/warnings/register.pm'<br> DB<5> $test = *main::INC{HASH}<br> DB<6> $test->{Puntaplexos} = 'c:\foobar\Puntaplexos'<br> DB<7> x *main::INC{HASH}<br>0 HASH(0x226118)<br> 'ActivePerl/Config.pm' => 'C:/Perl/lib/ActivePerl/Config.pm'<br> 'ActiveState/Path.pm' => 'C:/Perl/lib/ActiveState/Path.pm'<br> 'AutoLoader.pm' => 'C:/Perl/site/lib/AutoLoader.pm'<br> 'C:/Perl/site/lib/sitecustomize.pl' => 'C:/Perl/site/lib/sitecustomize<br> 'Carp.pm' => 'C:/Perl/lib/Carp.pm'<br> 'Carp/Heavy.pm' => 'C:/Perl/lib/Carp/Heavy.pm'<br> 'Config.pm' => 'C:/Perl/lib/Config.pm'<br> 'Config_heavy.pl' => 'C:/Perl/lib/Config_heavy.pl'<br> 'Cwd.pm' => 'C:/Perl/lib/Cwd.pm'<br> 'Digest/MD5.pm' => 'C:/Perl/lib/Digest/MD5.pm'<br> 'Digest/base.pm' => 'C:/Perl/lib/Digest/base.pm'<br> 'DynaLoader.pm' => 'C:/Perl/lib/DynaLoader.pm'<br> 'Exporter.pm' => 'C:/Perl/lib/Exporter.pm'<br> 'File/Basename.pm' => 'C:/Perl/lib/File/Basename.pm'<br> 'IO.pm' => 'C:/Perl/lib/IO.pm'<br> 'IO/Handle.pm' => 'C:/Perl/lib/IO/Handle.pm'<br> 'Puntaplexos' => 'c:\\foobar\\Puntaplexos'<br> 'SelectSaver.pm' => 'C:/Perl/lib/SelectSaver.pm'<br> 'SelfLoader.pm' => 'C:/Perl/lib/SelfLoader.pm'<br> 'Symbol.pm' => 'C:/Perl/lib/Symbol.pm'<br> 'Term/Cap.pm' => 'C:/Perl/lib/Term/Cap.pm'<br> 'Term/ReadKey.pm' => 'C:/Perl/lib/Term/ReadKey.pm'<br> 'Term/ReadLine.pm' => 'C:/Perl/lib/Term/ReadLine.pm'<br> 'Term/ReadLine/Perl.pm' => 'C:/Perl/lib/Term/ReadLine/Perl.pm'<br> 'Term/ReadLine/readline.pm' => 'C:/Perl/lib/Term/ReadLine/readline.pm'<br> 'XSLoader.pm' => 'C:/Perl/lib/XSLoader.pm'<br> 'attributes.pm' => 'C:/Perl/lib/attributes.pm'<br> 'constant.pm' => 'C:/Perl/lib/constant.pm'<br> 'dumpvar.pl' => 'C:/Perl/lib/dumpvar.pl'<br> 'perl5db.pl' => 'C:/Perl/lib/perl5db.pl'<br> 're.pm' => 'C:/Perl/lib/re.pm'<br> 'strict.pm' => 'C:/Perl/lib/strict.pm'<br> 'vars.pm' => 'C:/Perl/lib/vars.pm'<br> 'warnings.pm' => 'C:/Perl/lib/warnings.pm'<br> 'warnings/register.pm' => 'C:/Perl/lib/warnings/register.pm'<br> DB<8><br><br>Só não lembro agora se é "puntaplexos" ou "pumtaplexos". :-)<br>Por favor me conte se funcionou depois. Eu fiquei curioso.<br><br>[]'s<br>Alceu<br><br /><hr />Live Earth is coming. Learn more about the hottest summer event - only on MSN. <a href='http://liveearth.msn.com?source=msntaglineliveearthwlm' target='_new'>Check it out!</a></body>
</html>