[Cascavel-pm] Teste de variável na inicialização de um módulo.
Marco A P D'Andrade
mdacwb em gmail.com
Sexta Junho 16 18:42:52 PDT 2006
Ou...
Que tal vc acionar uma configuração apropriada quanto for opção "-t" ??
#main.pl
...
if ($TEST){
G::AssignTest();
} else{
G::Assign();
}
...
package modules::G;
sub AssignTest {
$gsubmission_url='http://url/de/testes';
$gretrieval_url='http://url/de/testes/RetrieveListenerServlet';
$glogin='LOGIN';
$gpass='PASS';
}
sub Assign {
$gsubmission_url='http://url/live';
$gretrieval_url='http://url/live/RetrieveListenerServlet';
$glogin='LOGIN_OFICIAL';
$gpass='SENHA_OFICIAL';
}
#---
Não tenho conhecimento conceitual suficiente para afirmar com certeza,
mas acho que caberia ao modulo principal definir o comportamento do
modulo (ou classe) inicializada...
Com um comportamento variavel de acordo com uma variavel global vc
eleva o acoplamento por variaveis globais ...
Claro... outra opção, que eu possivelmente utilizaria é chamar um
modulo de inicialização, passando os parametros (não default), do
tipo:
if ( $test ) {
G::Init( submit => 'http://url/de/testes', ... );
}
package modules::G;
our ( $gsubmission_url, $gretrieval_url, $glogin, $gpass );
sub Init {
my %args = @_;
$gsubmission_url='http://url/live';
$gretrieval_url='http://url/live/RetrieveListenerServlet';
$glogin='LOGIN_OFICIAL';
$gpass='SENHA_OFICIAL';
if ( exists($args{submit}) ) {
$gsubmission_url=$args{submit};
}
...
}
2006/6/16, Igor Sutton <igor.sutton em gmail.com>:
> E se você utilizar uma variável de ambiente?
>
> $ TEST=1 perl -e 'print
> (($ENV{TEST})?"TESTE!":"PRODUÇÃO"); print "\n"'
>
> Você pode encapsular este teste dentro da função que gera os dados deste
> conector, por exemplo. Mas seguindo a sua linha de raciocínio:
>
--- cut ---
Mais detalhes sobre a lista de discussão Cascavel-pm