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