Мне нужно проверить, существует ли файл в домашнем каталоге пользователя, поэтому используйте проверку файла:
if ( -e "~/foo.txt" ) {
print "yes, it exists!" ;
}
Несмотря на то, что в домашнем каталоге пользователя есть файл с именем foo.txt, Perl всегда жалуется, что такого файла или каталога нет. Когда я заменяю "~" на /home/jimmy (скажем, пользователь jimmy), то Perl дает правильный вердикт.
Не могли бы вы объяснить, почему "~" не работает в Perl и рассказывать мне, что такое Perl-способ найти домашний каталог пользователя?