Humm... eu já usei com o módulo DBIx::SearchBuilder, e achei fantástico... porém...<br><br>O Damian Conway declara no Perl Best Practicals, na página 393, sobre Autoloading &quot; Don´t use AUTOLOAD()&quot; ...<br><br><br>

Eu confesso que isso me frustou, mas ele apresenta bons motivos...<br><br>&quot;AUTOLOAD() doesn´t promote efficency, conciseness, robustness, or maintainability, ...&quot;<br><br><br>Para quem já me viu com este livro em mãos...
<br>&nbsp;... &quot;Sim, agora eu li (parte)!&quot; ;)<br><br>Eu tinha que me reposicionar justamente sobre manutenibilidade, pois estava fazendo parte de um projeto que deveria se acoplar a algo maior, e em um prazo muito curto de tempo (para o contratante).
<br><br><br>Sds,<br>Marco Antonio<br><br><br><br><div><span class="gmail_quote">Em 19/11/07, <b class="gmail_sendername">eden</b> &lt;<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>&gt; escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Nov 19, 2007 12:05 AM, Marco A P D&#39;Andrade &lt;<a href="mailto:mdacwb@gmail.com">mdacwb@gmail.com</a>&gt; wrote:<br>&gt; Só pra não ficar de fora ...<br>&gt;<br>&gt; Me corrijam se eu estiver errado, mas a diferenca entre use e require é o
<br>&gt; fato da primeira forçar a verificação no tempo de compilação, ou ... carga<br>&gt; do script.<br>&gt;<br>&gt; Se preparar um sistema realmente grande, vc deverá tomar varios cuidados<br>&gt; para não acabar com alto desastroso em mãos, dentre eles, um fracionamento
<br>&gt; coerente de módulos e forma de chamada.<br>&gt;<br>&gt; Se vc tiver um sistema extenso, e utilizar a chamada padrão, com use, todo o<br>&gt; codigo será validado. Claro... vc provavelmente nem vai perceber, pois<br>
&gt; digamos que um sistema muito extenso vai ter o que, 50 ou 100 mil linhas ?<br>&gt; Mas se for um projeto web, ao entrar em produção, com carga elevada, isso<br>&gt; pesa.<br>&gt;<br>&gt; Mas... em web para um projeto grande, não será utilizado CGI, será mod_perl,
<br>&gt; ou fastcgi.<br>&gt;<br>&gt; Bem...&nbsp;&nbsp;voltando ao ponto use vs require.<br>&gt;<br>&gt; O use equivale a &quot;BEGIN { require modulo; import modulo }&quot;, e não pode ser<br>&gt; utilizado de forma condicional:<br>
&gt;<br>&gt; #x<br>&gt; if ( $modo == 1 ) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;use Modulo1;<br>&gt;&nbsp;&nbsp;} else {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;use ModuloX;<br>&gt; }<br>&gt;<br>&gt; Enquanto que o require permite esta opção.<br>&gt;<br>&gt; #x<br>&gt;&nbsp;&nbsp;if ( $modo == 1 ) {
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; require Modulo1;<br>&gt;&nbsp;&nbsp; } else {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; require ModuloX;<br>&gt;&nbsp;&nbsp;}<br>&gt;<br>&gt; # <a href="http://Modulo1.pm">Modulo1.pm</a><br>&gt; package Modulo1;<br>&gt; print &quot;Begin Modulo1\n&quot;;<br>
&gt; 1;<br>&gt;<br>&gt;&nbsp;&nbsp;# ModuloX.pm<br>&gt;&nbsp;&nbsp;package Modulo1;<br>&gt;&nbsp;&nbsp;print &quot;Begin ModuloX\n&quot;;<br>&gt; X;<br>&gt;<br>&gt;<br>&gt; Crie os arquivos e faça o teste ;)<br>&gt;<br>&gt; <a href="http://perldoc.perl.org/functions/require.html">
http://perldoc.perl.org/functions/require.html</a><br>&gt;&nbsp;&nbsp;<a href="http://perldoc.perl.org/functions/use.html">http://perldoc.perl.org/functions/use.html</a><br>&gt;<br>&gt; PS: Conhecimento estraído de leitura de discussões na Cascavel-PM. Como
<br>&gt; diria meu chefe... soluções em busca de problemas ;)<br><br>E só pra não ficar de fora também... ;) Você sempre pode usar coisas<br>como AutoLoader:<br><a href="http://search.cpan.org/~smueller/AutoLoader-5.63/lib/AutoLoader.pm">
http://search.cpan.org/~smueller/AutoLoader-5.63/lib/AutoLoader.pm</a><br><br>Disclaimer: nunca usei esse treco em produção, experimente por sua<br>conta e risco ;)<br><br>--<br><a href="http://edenc.vox.com">edenc.vox.com
</a><br>_______________________________________________<br>Rio-pm mailing list<br><a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm
</a><br></blockquote></div><br>