String :: Interpolate.

String :: Interpolate é um wrapper perl para construir o mecanismo de interpolação Perl.
Baixe Agora

String :: Interpolate. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Brian McCauley
  • Site do editor:
  • http://search.cpan.org/~nobull/String-Interpolate-0.3/lib/String/Interpolate.pm

String :: Interpolate. Tag


String :: Interpolate. Descrição

String :: Interpolate é um wrapper Perl para construir o motor de interpolação Perl. Sinopse # Interface Funcional Use String :: Interpolate QW (Safe_Interpolate Interpolate); nossa ($ greet) = 'olá'; # Não pode ser lexical impressão interpolada ('$ greet $ 1n', ); # Interface de objeto usa string :: interpolate; meu $ quem; Meu modelo $ Modelo = Nova String :: Interpolate {WHO => $ quem}; $ modelo -> {tempo} = sub () {localtime}; # Tie $ HORA para LOCALTIME () $ Modelo -> (); # Defina $ 1, $ 2 $ modelo -> = 'é'; # Define $ 3 $ quem = 'velho amigo'; $ Modelo -> ('$ Rev {OLLEH} $ OMS, US $ 2 $ 3 $ 1 $ tempo $ _'); # Definir string para processar $ modelo -> {rev} = sub {reverse @_}; # Tie% rev para reverter () $ _ = '.'; Imprimir "$ Templaten"; # Realize a interpolação # peform a interpolação em um compartimento seguro. Minha $ Substituir = String Safe :: Interpolate 'UL $ 1'; Minha $ Pesquisa = QR / (W +) /; $ _ = "Olá Worldn"; S / $ Pesquisa / $ Substituir / por exemplo; # / e e e e otimization imprimir; string :: interpolate fornece uma interface pura para a solução para esse problema perenial perl - como invocar o mecanismo de interpolação de string perl em uma string contida em uma variável escalar. "O objeto interpolate encapsula uma string e um contexto em que deve ser submetido a interpolação perl. No caso mais simples, o caso, o contexto é simplesmente o namespace (pacote) a partir do qual o construtor foi chamado.A String :: O objeto Interpolate pode realizar uma referência a uma matriz e hashes que serão usados para preencher as variáveis especiais $ 1 etc e Algumas variáveis de pacotes, respectivamente, antes de cada interpolação.Não gerais especiais Globalmente Global variáveis, como $ _ podem ser usados na interpolação, sendo a exceção @_, que está sempre vazia durante a interpolação. A cadeia interpolada é processada com stritures e avisos ativados "vars rigoros" e "avisos não inicializados", de modo que as variáveis indefinidas interpolantes serão silenciosamente ignoradas. Esse comportamento pode ser alterado usando o método pragma () Porque o mecanismo de interpolação de string perl pode chamar o código de perl arbitrário que você não deseja querer usá-lo em strings de fontes não confiáveis sem algumas precauções. Por este motivo String :: Interpolate Objects pode ser feito para usar compartimentos seguros. Isto é, obviamente, tão seguro quanto seguro e você é aconselhado a ler a seção "Aviso" da documentação segura. Quando a interpolação em um pacote de compartimentos seguros são importados usando variáveis de invólucros amarradas para que seus valores não possam ser interpretados como referências e De modo que eles não possam ser usados para alterar os valores fora do compartimento. Esse comportamento pode ser suprimido pelo método inseguro_symbols (). Observe que, se você quiser importar variáveis ou variáveis amarradas contendo referências a objetos que usam sobrecarregamento em um compartimento seguro, então você precisará fazer um monte de footwork extravagante, a menos que você use o método Safe_hole (). Por padrão * _ é compartilhado por compartimentos seguros e poderia permitir que o compartimento vaze. As variáveis $ _ e% _ são, portanto, sujeitas às mesmas precauções semelhantes aos símbolos importados. Esse comportamento pode ser suprimido usando a interpolação do Method.perl String.perl. Por padrão String :: Interpolate Objects não captam (ou Rethrow) Essas exceções ao trabalhar em um namespace simples e prendê-las ao trabalhar em um compartimento seguro. Esse comportamento pode ser anulada pelos métodos de armadilha () ou pragma (). Se uma exceção durante a interpolação estiver presa, o UNDEF será devolvido, pois o resultado da interpolação e $ @ manterá a exceção da maneira usual. Quando a verificação de mancal ativada, tentando executar a interpolação (usando EVAL ()) em uma string contaminada Naturalmente falhar. No entanto, ao usar um compartimento seguro, a String :: Interpolate retirará a mancha da string antes da interpolação e colocá-la de volta depois. Também string :: Interpolate vai manchar quaisquer argumentos passados para funções de retorno chamadas como resultado de executar a interpolação em uma string contaminada. Observe que, devido ao mecanismo usado para atribuir US $ 1 et al, eles nunca podem ser mantidos, mesmo que os valores na matriz fosse usado para configurá-los são contaminados. Por padrão seqüência :: Interpolate não exporta nenhuma sub-rotina, mas como uma concessão para os programadores que Prefiro não usar explicitamente objetos, as funções interpolam () e safe_interpolate () são exportáveis.Requirements: · Requisitos de Perl: · Perl.


String :: Interpolate. Software Relacionado