Hvordan skille mellom en fil og en katalog i Perl

La oss si at du bygger et Perl-skript for å krysse av et filsystem og registrere hva det finner. Når du åpner filhåndtak, må du vite om du har å gjøre med en faktisk fil eller med en katalog, som du behandler annerledes. Du vil samle en katalog, slik at du kan fortsette å rekursivt analysere filsystemet. Den raskeste måten å fortelle filer fra kataloger er å bruke Perls innebygdeOperatører av filtest. Perl har operatører du kan bruke til å teste forskjellige aspekter av en fil. Operatøren -f brukes til å identifisere vanlige filer i stedet for kataloger eller andre typer filer.

Først lager du to strenger: en som peker på en fil og en som peker på en katalog. Test deretter $ filnavn med -f operatør, som sjekker om noe er en fil. Dette vil trykke "Dette er en fil." Hvis du prøver -f operatøren i katalogen, skrives den ikke ut. Gjør det motsatte for $ Katalog og bekrefte at det faktisk er en katalog. Kombiner dette med en katalog glob å sortere ut hvilke elementer som er filer og hvilke som er kataloger:

instagram viewer