[Cascavel-pm] Manipulação de arquivo
Thomas Britis
thomas em tcnet.com.br
Quinta Outubro 26 09:10:05 PDT 2006
Mesmo eu não tendo testado antes, testei agora e está funcionando como
esperado.
Novamente segue o código:
#!/usr/bin/perl
#
my ($nome) = $ARGV[0] || die "Uso: $0 [palavra] [arquivo]\n";
my ($delim) = ":";
my ($linha);
my ($achei) = 0;
my ($x);
open (F, "<$ARGV[1]") || die "Arquivo $ARGV[1] nao pode ser aberto: $!";
while (<F>) {
$linha++;
$x = 0;
while ((substr ($nome, $x, 1) eq substr ($_, $x, 1)) && (substr
($_, $x, 1) ne $delim)) { $x++; }
if ($x eq length ($nome)) {
print "Achei em linha $linha\n";
$achei++;
last;
}
}
print "Nao achei\n" if (!$achei);
Diego Mendes Teixeira wrote:
> Thomas,
>
> Esse codigo nao ta funcionando, e perai, do jeito que ta eu nao to
> abrindo o arquivo e a condição do laço? eu não teria que usar open
> (F,$ARGV[1]) para abrir o arquivo e eu nao teria que colocar uma
> condição while ($linha, <F>) para ler ate o final do arquivo?
>
> Vlw
>
> .============================================.
> Diego Mendes Teixeira - diegom em lcc.ufmg.br <mailto:diegom em lcc.ufmg.br>
> Desenvolvimento de Sistemas - LCC/CENAPAD
> Universidade Federal de Minas Gerais - UFMG
> Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910
> '============================================'
>
> -----cascavel-pm-bounces+diegom=lcc.ufmg.br em pm.org escreveu: -----
>
> Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
> De: Thomas Britis <thomas em tcnet.com.br>
> Enviado por: cascavel-pm-bounces+diegom=lcc.ufmg.br em pm.org
> Data: 25/10/2006 15:39
> Assunto: Re: [Cascavel-pm] Manipulação de arquivo
>
> Fiz um programa (meio porco) usando a estrutura que você estava usando
> no outro para comparação exata sem uso de expressão regular:
>
> my ($nome) = $ARGV[0] || die "Uso: $0 [palavra] [arquivo]\n";
> my ($delim) = ":"; # Delimitador já que você só considera a primeira
> parte, correto?
> my ($linha);
> my ($achei) = 0;
> my ($x);
>
> open (F, "while () {
> $linha++;
> $x = 0;
> while ((substr ($nome, $x, 1) eq substr ($_, $x, 1)) && (substr
> ($_, $x, 1) ne $delim)) { $x++; }
> if ($x eq length ($nome)) {
> print "Achei em linha $linha\n";
> $achei++;
> last;
> }
> }
>
> print "Nao achei\n" if (!$achei);
>
> --
> Thomas Storino Britis
> TCNet Informatica e Telecomunicacoes LTDA
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
--
Thomas Storino Britis
TCNet Informatica e Telecomunicacoes LTDA
Mais detalhes sobre a lista de discussão Cascavel-pm