Hur man skiljer mellan en fil och en katalog i Perl

click fraud protection

Låt oss säga att du bygger ett Perl-skript för att korsa ett filsystem och registrera vad det hittar. När du öppnar filhandtag måste du veta om du har att göra med en faktisk fil eller med en katalog, som du behandlar annorlunda. Du vill globera en katalog, så att du kan fortsätta att rekursivt analysera filsystemet. Det snabbaste sättet att berätta filer från kataloger är att använda Perls inbyggdaFiltestoperatörer. Perl har operatörer du kan använda för att testa olika aspekter av en fil. Operatören -f används för att identifiera vanliga filer snarare än kataloger eller andra typer av filer.

Först skapar du två strängar: en som pekar på en fil och en som pekar på en katalog. Testa sedan $ filnamn med -f operatör, som kontrollerar om något är en fil. Detta kommer att skriva ut "Detta är en fil." Om du försöker operatören -f i katalogen skrivs den inte ut. Gör sedan det motsatta för $ katalognamn och bekräfta att det faktiskt är en katalog. Kombinera detta med en katalog glob för att sortera vilka element som är filer och vilka kataloger:

instagram viewer
instagram story viewer