Aby sprawdzić, czy plik istnieje przed użyciem go, możemy użyć:Jak sprawdzić, czy katalog istnieje w Perlu?
if (-e "filename.cgi")
{
#proceed with your code
}
Ale jak indentify katalog istnieje, czy nie?
Aby sprawdzić, czy plik istnieje przed użyciem go, możemy użyć:Jak sprawdzić, czy katalog istnieje w Perlu?
if (-e "filename.cgi")
{
#proceed with your code
}
Ale jak indentify katalog istnieje, czy nie?
Zastosowanie -d
(full list of file tests)
if (-d "cgi-bin") {
# directory called cgi-bin exists
}
elsif (-e "cgi-bin") {
# cgi-bin exists but is not a directory
}
else {
# nothing called cgi-bin exists
}
Jako notatkę, -e
nie rozróżnia plików i katalogów. Aby sprawdzić, czy coś istnieje i jest zwykłym plikiem, użyj -f
.
Jeśli używasz -d, to nie potrzebujesz -e (-d zwraca false w nieistniejących katalogach). –
@Peter - podczas gdy technicznie poprawne, w kodzie produkcyjnym zwykle lepiej jest wykonać polecenie -e, po którym następuje -d, więc komunikaty o błędach mogą być bardziej ukierunkowane. Istnieje różnica między "nie istnieje" i "istnieje jako nie katalogu", jeśli chodzi o rozwiązywanie problemów w produkcji. – DVK
Około połowa twoich pytań w Perlu dotyczy bardzo podstawowych tematów. Możesz zaoszczędzić sobie trochę czasu, czytając książki. [Perl 语言 入门 ④] (http://oreilly.com.cn/book.php?bn=978-7-5641-0636-2), [Learning Perl ⑤] (http://oreilly.com/catalog/ 9780596520113 /) – daxim
Zgaduję, że zajęło mu to bardzo mało czasu, aby zadać te pytania, i są one bardzo pomocnymi wynikami wyszukiwania. Nie bądź uczącym się bigotem. –
@Adam Myślę, że punktem daxim jest to, że pytania perlowe OP (łącznie z tym) są dość proste i dlatego przeczytanie przeglądu perla może zaoszczędzić trochę czasu w porównaniu z zadawaniem mnóstwa konkretnych pytań, których odpowiedzi można łatwo znaleźć w inny sposób – GreenGiant