Articles of perl

Em Perl, como posso ler um arquivo inteiro em uma string?

Estou tentando abrir um arquivo .html como uma grande string longa. Isso é o que eu tenho: open(FILE, ‘index.html’) or die “Can’t read file ‘filename’ [$!]\n”; $document = ; close (FILE); print $document; o que resulta em: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN No entanto, quero que o resultado seja parecido com: <!DOCTYPE HTML […]

Como posso executar um script Perl como um daemon do sistema no linux?

O que é uma maneira simples de executar um script Perl como um daemon no linux? Atualmente, isso está no CentOS. Eu gostaria que ele fosse iniciado com o sistema e encerrado com o sistema, portanto, alguma integração com o /etc/rc.d/init.d também seria interessante, mas eu sempre poderia adicionar uma linha personalizada ao /etc/rc.d/rc.local .

Maneira mais rápida de encontrar linhas de um arquivo de outro arquivo maior no Bash

Eu tenho dois arquivos, file1.txt e file2.txt . file1.txt tem cerca de 14k linhas e file2.txt tem cerca de 2 bilhões. file1.txt tem um único campo f1 por linha enquanto o file2.txt possui 3 campos, f1 a f3 , delimitados por | . Eu quero encontrar todas as linhas de file2.txt onde f1 de file1.txt […]

enquanto (1) vs. para (;;) Existe uma diferença de velocidade?

Versão longa… Um colega de trabalho afirmou hoje depois de ver meu uso de while (1) em um script Perl que for (;;) é mais rápido. Argumentei que eles deveriam ser os mesmos na esperança de que o intérprete otimizasse quaisquer diferenças. Eu configurei um script que executaria 1.000.000.000 para iterações de loop e o […]

Como posso produzir UTF-8 a partir do Perl?

Eu estou tentando escrever um script Perl usando o pragma “utf8” e estou obtendo resultados inesperados. Estou usando o Mac OS X 10.5 (Leopard) e estou editando com o TextMate. Todas as minhas configurações para o meu editor e sistema operacional são padronizadas para gravar arquivos no formato utf-8. No entanto, quando eu inserir o […]

Quando devo usar o & para chamar uma sub-rotina Perl?

Ouvi dizer que as pessoas não deveriam estar usando & para chamar subs Perl, ou seja: function($a,$b,…); # opposed to &function($a,$b,…); Eu sei para um que a lista de argumentos se torna opcional, mas quais são alguns casos onde é apropriado usar o & e os casos onde você absolutamente não deveria estar usando isto? […]

Como usar uma variável no lado de substituição do operador de substituição de Perl?

Eu gostaria de fazer o seguinte: $find=”start (.*) end”; $replace=”foo \1 bar”; $var = “start middle end”; $var =~ s/$find/$replace/; Eu esperaria que $ var contivesse “foo middle bar”, mas isso não funciona. Nem faz: $replace=’foo \1 bar’; De alguma forma estou faltando alguma coisa sobre o escape. Eu consertei o ausente ‘s’

Qual é a melhor maneira de introduzir um arquivo em uma string em Perl?

Sim, há mais de uma maneira de fazê-lo, mas deve haver uma maneira canônica, mais eficiente ou mais concisa. Vou adicionar respostas que conheço e ver o que percorre até o topo. Para ser claro, a questão é como melhor ler o conteúdo de um arquivo em uma string. Uma solução por resposta.

Diferença de duas matrizes usando Perl

Eu tenho dois arrays. Preciso verificar e ver se os elementos de um aparecem no outro. Existe uma maneira mais eficiente de fazer isso do que loops nesteds? Eu tenho alguns milhares de elementos em cada um e preciso executar o programa com freqüência.

Por que meu conteúdo de arquivo / input de usuário não corresponde? (faltando chomp canonical)

Estou lendo de um arquivo / STDIN e procurando por um valor específico: use strict; use warnings; my $find = ‘def’; while () { if ($_ eq $find) { print “Found: $_\n”; # Never reached! } } __DATA__ abc def xyz Por que a condição nunca é correspondida?