[Cascavel-pm] RES: Matriz

Nelson Ferraz nferraz em gmail.com
Sexta Julho 28 06:31:22 PDT 2006


>     O meu script voltaversao.pl deve abrir o arquivo caminho.txt, aonde 
> será encontrado uma lista de caminhos

Você começou bem o script, mas poderia fechar o arquivo depois de ler 
seu conteúdo:

	open (CAM,$arquivo);
	@caminhos=<CAM>;
	close CAM;

Além disso, você deve SEMPRE verificar se a abertura do arquivo funcionou:

	open (CAM,$arquivo) or die "Erro ao abrir '$arquivo': $!\n";
	@caminhos=<CAM>;
	close CAM;

Esta expressão idiomática pode ser lida como "open file or die", e é a 
maneira como a gente normalmente abre um arquivo.

(De maneira geral, se o seu programa tiver que falhar, deve falhar cedo 
e ruidosamente. Se não tiver nada de surpreendente para dizer, deve 
terminar em silêncio.)

> arquivo, pegar esse caminho com o arquivo pom.xml. procurar dentro desse 
> pom.xml a versão atual informada pelo usuário e substituí-la pela versão 
> antiga também informada pelo usuário. em todas as ocorrências da mesma. 
> O script deve repetir isso até que não encontre mais nenhuma linha de 
> caminho no arquivo caminho.txt....

Nesse caso, como você tem todos os elementos em um array, é mais fácil 
usar um foreach:

	foreach ( @caminhos ) {
	  # do something with $_
	}


Se você preferir, pode especificar a variável de loop (o que é 
recomendável):

	foreach my $caminho ( @caminhos ) {
	  # do something with $caminho
	}

[]s

Nelson

-- 
Nelson Corrêa de Toledo Ferraz

Segula Technologies (www.segula.fr)
Free Software Foundation Associate Member #3203
Sociedade Perl do Brasil (www.perl.org.br)
Rede Livre de Compartilhamento de Cultura Digital


Mais detalhes sobre a lista de discussão Cascavel-pm