[Cascavel-pm] erro ao utilizar dois filehandles
Ednardo Lobo
ednardo em elobo.cjb.net
Quarta Abril 16 19:34:36 CDT 2003
Não percebi nada de errado! Mas não cheguei a executar!
Quanto ao escopo do FILEHANDLE, ele é global, mas limitado à
fronteira do módulo em que foi declarado. FILEHANDLE em outros módulos
incluidos via 'use' possuem sua própria tabela de símbolos.
On Wed, Apr 09, 2003 at 04:05:42PM -0300, Alceu Rodrigues de Freitas Junior wrote:
> Olá lista,
>
> Abaixo segue um script bem simples, mas que não funciona. Eu nem
> imagino o que pode estar acontecendo de errado:
>
> --
> opendir(DIR,"$dir");
> my @dir_list = readdir(DIR);
> close(DIR);
>
> my $file;
>
> foreach $file(@dir_list) {
> next if $file eq '.';
> next if $file eq '..';
>
> # lendo o arquivo
> open(FILE,"<$dir/$file") || die "cannot open $dir/$_: $!\n";
>
> my $file_name = $file;
> $file_name =~ s/\.html/\.txt/;
>
> open(SAIDA,">$dir/$file_name") || die "cannot create $dir/$file_name: $!\n";
>
> my @array;
>
> while (<FILE>) {
>
> # pulando coisas indesejadas
> next if /^<html.*>/i;
> next if /^<meta.*>/i;
> next if /^<head.*>/i;
> next if /^<\/head>/i;
> next if /<title>/i;
> next if /<body.*>/i;
> next if /<\/body>|<\/head>/;
> next if /^\n$/;
>
> # limpando tags html
> s/<.*?>//g;
> s/<\/.*?>//g;
> #removendo espaços iniciais e finais, assim como tabulações
> s/^\t|\t$//;
> s/^\s|\t$//;
> next if /^\n$/;
>
> print SAIDA "$_";
>
> }
> close(SAIDA);
> close(FILE);
> --
>
> Eu resolvi o problema usando "push (@array, $_)" dentro do loop while,
> substituindo o "print SAIDA "$_", e posteriormente imprimindo esse
> array. Só que eu fiquei curioso com a não impressão. Se eu imprimir
> fora do loop no filehandle SAIDA, funciona normalmente. Como eu
> declarei o SAIDA antes do loop while, não acho que seja problema de
> escopo.
>
> []'s
>
>
> --
> Alceu Rodrigues de Freitas Junior
> glasswalk3r em yahoo.com.br
--
Ednardo Lobo - www.elobo.cjb.net
Por favor, evitem enviar anexos no formato MS-Office, obrigado!
Veja: http://www.fsf.org/philosophy/no-word-attachments.pt.html
Mais detalhes sobre a lista de discussão Cascavel-pm