Operadores de teste de arquivo em Perl são os operadores lógicos que retornam valores True ou False. Existem muitos operadores em Perl que você pode usar para testar vários aspectos diferentes de um arquivo. Por exemplo, para verificar a existência de um operador file -e é usado. Ou pode ser verificado se um arquivo pode ser gravado antes de executar a operação de acréscimo. Isso ajudará a reduzir o número de erros que um programa pode encontrar.

O exemplo a seguir usa o operador de existência '-e' para verificar se um arquivo existe ou não:

#!/usr/bin/perl
  
# Using predefined modules
use warnings;
use strict;
   
# Providing path of file to a variable
my $filename = 'C:\Users\GeeksForGeeks\GFG.txt';
  
# Checking for the file existence
if(-e $filename)
{
      
    # If File exists
    print("File $filename exists\n");
}
  
else
{
      
    # If File doesn't exists
    print("File $filename does not exists\n");
}

Saída:

O nome do arquivo ou identificador de arquivo é passado como um argumento para este operador de teste de arquivo -e.
 
A seguir está uma lista dos operadores de teste de arquivo mais importantes:

<style>.string-table{font-family:arial,sans-serif;border-collapse:collapse;border:1px solid #5fb962;width:100%;


<script>var adpushup = window.adpushup = window.adpushup || {que:[]};adpushup.que.push(function() {adpushup.triggerAd("d6f45c53-ff16-4cc5-8b91-eb6ee7037116");});</script>

}

.string-table td,th{background-color:#c6ebd9;border:1px solid #5fb962;text-align:left;padding:8px;

}.string-table td:nth-child(odd){background-color:#c6ebd9}.string-table th{border:1px solid #5fb962;

text-align: left;

}.string-table td{border:1px solid #5fb962;color:#000;text-align:left!important}</style>

OperadorDescrição
-rverifica se o arquivo é legível
-Cverifica se o arquivo é gravável
-xverifica se o arquivo é executável
-overifica se o arquivo pertence a um uid efetivo
-Rverifica se o arquivo é legível por uid real
-Cverifica se o arquivo é gravável por uid real
-Xverifica se o arquivo é executável por uid / gid real
-Overifica se o arquivo pertence a uid real
-everifica se o arquivo existe
-zverifica se o arquivo está vazio
-sverifica se o tamanho do arquivo é diferente de zero (retorna o tamanho em bytes)
-fverifica se o arquivo é um arquivo de texto simples
-dverifica se o arquivo é um diretório
-euverifica se o arquivo é um link simbólico
-pverifica se o arquivo é um canal nomeado (FIFO): ou Filehandle é um canal
-Sverifica se o arquivo é um soquete
-bverifica se o arquivo é um arquivo especial de bloco
-cverifica se o arquivo é um arquivo especial de caracteres
-tverifica se o identificador de arquivo está aberto para um tty
-vocêverifica se o arquivo tem conjunto de bits setuid
-gverifica se o arquivo tem conjunto de bits setgid
-kverifica se o arquivo tem bit pegajoso definido
-Tverifica se o arquivo é um arquivo de texto ASCII (estimativa heurística)
-Bverifica se o arquivo é um arquivo "binário" (oposto de -T)

Você pode usar o operador lógico AND em conjunto com os operadores de teste de arquivo da seguinte maneira:

#!/usr/bin/perl
  
# Using predefined modules
use warnings;
use strict;
   
# Providing path of file to a variable
my $filename = 'C:\Users\GeeksForGeeks\GFG.txt';
  
# Applying multiple Test Operators 
# on the File
if(-e $filename && -f _ && -r _ )
{
   print("File $filename exists and readable\n"); 
}
  
else
{
    print("File $filename doesn't exists")
}

Saída: O

exemplo acima, verifica a existência do arquivo e se o arquivo é simples ou não e se pode ser lido.