#!/usr/local/bin/perl #Programa de busca de casamento de padrao em perl com uso de expressoes regulares #use strict; #use warnings; if (@ARGV){ #testa se foi passado um argumento na execução do programa foreach $argument(@ARGV){ #carrega um argumento por vez para a variavel $argument push(@arguments,$argument); #adiciona o argumento ao array @arguments } if (/\D$arguments[1]\D/) {#testa se os caracteres digitados são letras print "Digite caracteres de palavra (a-z, A-Z)"; } $palavra = $arguments[0];#a palavra é recuperada o array $linha_numero = 0;#linha da ocorrencia da palavra $achei = 0; #se ocorrencia da palavra open( ARQUIVO, "texto.txt" ) || die "Erro ao abrir arquivo texto.txt\n"; #abre o arquivo que sera lido while ( $linha = ) { #laço que carrega as linhas do arquivo ++$linha_numero;#variavel que guarda a linha que esta sendo lida my @array = $linha; #carrega a linha lida no array my indice; #indice do array if ($array[indice] == $palavra) { #testa se a palavra nesta na linha print "Linha:".$linha_numero."\n";#imprime a linha caso tenha encontrado a palavra $achei = 1; #seta achei indicando que pelo menos uma ocorrencia da palavra foi encontrada } } close ( ARQUIVO ); #fecha o arquivo if ($achei == 0){ #testa se achei foi setado print "Não foi encontrado nenhuma ocorrência da palavra: ".$palavra."\n\n"; } } else {#se não foi passado um argumento o programa pede ao usuario que repita a operacao print "\nDigite a palavra a ser buscada passando como referencia na execução do programa\n\n"; print "Exemplo: perl [programa] [tipo de busca] [palavra]\n\n"; }