Cum se spune un fișier dintr-un director din Perl

Să zicem că construiți un script Perl pentru a traversa un sistem de fișiere și a înregistra ce găsește. Pe măsură ce deschideți mânerele de fișiere, trebuie să știți dacă aveți de-a face cu un fișier efectiv sau cu un director, pe care îl tratați diferit. Doriți să globați un director, astfel încât să puteți continua să analizați recursiv sistemul de fișiere. Cea mai rapidă modalitate de a anunța fișierele din directoare este de a utiliza operatorii de testare a fișierelor încorporat de Perl. Perl are operatori pe care îi puteți folosi pentru a testa diferite aspecte ale unui fișier. Operatorul -f este utilizat pentru a identifica fișiere obișnuite, mai degrabă decât directoare sau alte tipuri de fișiere.

Utilizarea operatorului de testare fișier -f

 #! / usr / bin / perl -w
$ filename = '/path/to/your/file.doc';
$ directoryname = '/ calea / către / directorul tău';
if (-f $ nume de fișier)
imprimați „Acesta este un fișier.”;

if (-d $ nume de director)
imprimați „Acesta este un director.”;

În primul rând, creați două șiruri: una îndreptată către un fișier și una îndreptată către un director. În continuare, testați $ filename cu -f operator, care verifică pentru a vedea dacă ceva este un fișier. Acesta va imprima „Acesta este un fișier”. Dacă încercați operatorul -f din director, nu se tipărește. Apoi, faceți opusul pentru $ directoryname și confirmați că este, de fapt, un director. Combinați acest lucru cu un glob de director pentru a sorta ce elemente sunt fișiere și care sunt directoare:

#! / usr / bin / perl -w
@files =;
foreach $ file (@files)
if (-f $ file)
imprimați "Acesta este un fișier:". fișier $;

if (fișier -d $)
imprimați "Acesta este un director:". fișier $;


O listă completă de operatori de testare a fișierelor Perl este disponibilă online.