Hur man säger om en fil finns i Perl

Perl har en uppsättning användbara filtestoperatörer som kan användas för att se om en fil finns eller inte. Bland dem är -e, som kontrollerar om en fil finns. Denna information kan vara användbar för dig när du arbetar med ett skript som behöver tillgång till en specifik fil, och du vill vara säker på att filen finns där innan du utför operationer. Om till exempel ditt skript har en logg eller en konfigurationsfil som det beror på, kontrollera först om det. Exempelskriptet nedan kastar ett beskrivande fel om en fil inte hittas med detta test.

#! / Usr / bin / perl
$ filename = '/path/to/your/file.doc';
if (-e $ filnamn)
tryck "Fil finns!";

Först skapar du en sträng som innehåller sökvägen till filen som du vill testa. Sedan lindar du in -e (existerar) uttalande i ett villkorat block så att utskriftsmeddelandet (eller vad du lägger där) bara kallas om filen finns. Du kan testa motsatsen - att filen inte finns - med hjälp av såvida inte villkorlig:

om inte (-e $ filnamn) 
tryck "Filen finns inte!";

Andra filtestoperatörer

Du kan testa för två eller flera saker åt gången med "och" (&&) eller "eller" (||) operatörerna. Några andra Perl-filtestoperatörer är:

  • -r kontrollerar om filen är läsbar
  • -w kontrollerar om filen är skrivbar
  • -x kontrollerar om filen är körbar
  • -z kontrollerar om filen är tom
  • -f kontrollerar om filen är en vanlig fil
  • -d kontrollerar om filen är en katalog
  • -l kontrollerar om filen är en symbolisk länk

Om du använder ett filtest kan du undvika fel eller göra dig medveten om ett fel som måste åtgärdas.