Jak rozlišit mezi souborem a adresářem v Perlu

Řekněme, že vytváříte skript Perl, který umožňuje procházet souborovým systémem a zaznamenávat, co najde. Při otevírání popisovačů souborů musíte vědět, zda máte co do činění se skutečným souborem nebo s adresářem, s kterým nakládáte jinak. Chcete globalizovat adresář, takže můžete i nadále rekurzivně analyzovat systém souborů. Nejrychlejším způsobem, jak zjistit soubory z adresářů, je použití vestavěné PerluOperátoři testování souborů. Perl má operátory, pomocí kterých můžete testovat různé aspekty souboru. Operátor -f se používá k identifikaci běžných souborů spíše než adresářů nebo jiných typů souborů.

Nejprve vytvoříte dva řetězce: jeden ukazuje na soubor a druhý ukazuje na adresář. Dále vyzkoušejte $ filename s -F operátor, který zkontroluje, zda se jedná o soubor. Tím se vytiskne „Toto je soubor.“ Pokud zkusíte operátor -f v adresáři, nevytiskne se. Pak udělejte opak $ directoryname a potvrdit, že je to ve skutečnosti adresář. Zkombinujte to s adresář glob vyřešit, které prvky jsou soubory a které jsou adresáře:

instagram viewer