Função de abertura Perl
Descrição
Esta função abre um arquivo usando o identificador de arquivo especificado. O identificador de arquivo pode ser uma expressão, o valor resultante é usado como o identificador. Se nenhum nome de arquivo for especificado, uma variável com o mesmo nome do identificador de arquivo usado (deve ser uma variável escalar com um valor de string referindo-se ao nome do arquivo). O nome de arquivo especial '-' refere-se a STDIN e '> -' refere-se a STDOUT.
Sintaxe
A seguir está a sintaxe simples para esta função -
open FILEHANDLE, EXPR, LIST
open FILEHANDLE, EXPR
open FILEHANDLE
Valor de retorno
Esta função retorna o em caso de falha e 1 em caso de sucesso.
Exemplo
A seguir está a sintaxe para abrir file.txt no modo somente leitura. Aqui, menos de <sinal indica que o arquivo deve ser aberto no modo somente leitura.
open(DATA, "<file.txt");
Aqui, DATA é o identificador de arquivo que será usado para ler o arquivo. Aqui está o exemplo que irá abrir um arquivo e imprimir seu conteúdo na tela.
#!/usr/bin/perl
open(DATA, "<file.txt");
while(<DATA>) {
print "$_";
}
A seguir está a sintaxe para abrir file.txt no modo de escrita. Aqui, o sinal de menos de> indica que o arquivo deve ser aberto no modo de escrita -
open(DATA, ">file.txt");
Na verdade, este exemplo trunca (esvazia) o arquivo antes de abri-lo para gravação, o que pode não ser o efeito desejado. Se você deseja abrir um arquivo para leitura e gravação, pode colocar um sinal de mais antes dos caracteres> ou <.
Por exemplo, para abrir um arquivo para atualização sem truncá-lo -
open(DATA, "+<file.txt");
Para truncar o arquivo primeiro -
open DATA, "+>file.txt" or die "Couldn't open file file.txt, $!";
Você pode abrir um arquivo no modo anexar. Neste modo, o ponto de gravação será definido para o final do arquivo.
open(DATA,">>file.txt") || die "Couldn't open file file.txt, $!";
Um duplo >> abre o arquivo para anexar, colocando o ponteiro do arquivo no final, para que você possa começar a anexar informações imediatamente. No entanto, você não pode ler dele, a menos que também coloque um sinal de adição na frente dele -
open(DATA,"+>>file.txt") || die "Couldn't open file file.txt, $!";
A seguir está a tabela que fornece os valores possíveis dos diferentes modos.
Entities Definition
< or r Read Only Access
> or w Creates, Writes, and Truncates
>> or a Writes, Appends, and Creates
+< or r+ Reads and Writes
+> or w+ Reads, Writes, Creates, and Truncates
+>> or a+ Reads, Writes, Appends, and Creates