Neste capítulodo tutorial Perl nós iremos ver como acrescentar informação em arquivos existentes utilizando Perl.
No episódio anterior nós aprendemos como escrever em arquivos. Isso é muito útil quando estamos criando um arquivo, mas há casos onde nós desejamos manter o arquivo original, e apenas adicionar novas linhas a ele.
O caso mais comum é quando estamos escrevendo um arquivo de histórico, ou log.
Ao escrever
open(my $fh, '>', 'report.txt') or die ...
Abrimos um arquivo para ecrita utilizando o sinal >
, que irá automaticamente deletar o conteúdo do arquivo, caso haja algum.
Se nós desejamos acrescentar algo ao final do arquivo nós devemos utilizar o sinal maior do que >>
, como no exemplo abaixo:
open(my $fh, '>>', 'report.txt') or die ...
Ao invocar essa função, iremos abrir o arquivo para acrescentar informações nele, isso significa que o arquivo irá permanecer intacto
e qualquer coisa que for impresso pelas funções print()
e say()
serão acrescentadas ao final.
Veja abaixo um exemplo completo:
use strict;
use warnings;
use 5.010;
my $filename = 'report.txt';
open(my $fh, '>>', $arquivo) or die "Não foi possível abrir o arquivo '$arquivo' $!";
say $fh "Meu primeiro relatório escrito em perl";
close $fh;
say 'pronto';
Se você executar esse script várias vezes, você verá que o arquivo irá crescer. Para cada vez que for executado, será acrescentado uma nova linha ao arquivo.