[Cascavel-pm] Duvidas com require;

Glauber Machado Rodrigues (Ananda) glauber.rodrigues em gmail.com
Terça Dezembro 22 07:36:36 PST 2009


2009/12/22 Glauber Machado Rodrigues (Ananda) <glauber.rodrigues em gmail.com>

>
>
> 2009/12/22 Eden Cardim <edencardim em gmail.com>
>
> >>>>> "Glauber" == Glauber Machado Rodrigues (Ananda) <
>> glauber.rodrigues em gmail.com> writes:
>>    Glauber> Ou então especificar o escopo das variáveis no arquivo
>>    Glauber> 'variável.pl <http://xn--varivel-kwa.pl>':
>>
>>    Glauber> (...)  my $pasta = "/"; my $versao = "1.3.4"; (...)
>>
>> Se você restringir o escopo das variáveis com "my", elas não vão estar
>> disponíveis pro resto do script. O que você quer aqui é
>>
>> our $pasta = '/';
>>
>> etc...
>>
>>
> Sim, os exemplos eram para passar pelo strict, apenas o primeiro exemplo
> permite acessar as variáveis fora do require. Eram apenas para entender as
> implicações do strict e do escopo.
>

Eh, li novamente e vi que o contexto pode dar a entender que todos os
exemplos tem o efeito desejado para este caso:

"Agora, falando do erro específico, o require rodou com sucesso. O erro foi
causado porque o script roda em modo estrito (use strict;). Para passar pelo
erro, tem algumas alternativas."

Então como acabou que apenas um dos exemplos é útil nesse caso, acho que
deveria mensionar pelo menos duas maneiras de obter o mesmo efeito:

ex1:
use strict;
{
  no strict 'vars';
  require 'variavel.pl';
  print "$pasta\n$versao\n";
}

ex2:
use strict;
{
  our ( $pasta,
$versao);
  require 'variavel.pl';
  print "$pasta\n$versao\n";
}



-- 
Existe mais de uma maneira de chegar lá

Glauber Machado Rodrigues

skype: glauber.rodrigues
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20091222/e7c7e06e/attachment.html>


Mais detalhes sobre a lista de discussão Cascavel-pm