2013-12-18 2 views
0

Это мой код для обработки файла. У меня есть файл на диске.Всегда получать файл не найден Ошибка в perl

Но я всегда получаю файл не найдена ошибка. Нужно ли мне указывать правильный путь? Или код создаст здесь новый файл?

Почему я получаю эту ошибку?

Я храню файл по определенному пути?

Я пропустил что-нибудь, чтобы упомянуть или что-то пропустил в коде?

#open FH , ">>JEEVA.csv" or die "File not found"; 
#print FH $res1; 
#close FH; 
+5

У вас есть разрешение на запись в текущий каталог? Кроме того, вы не хотите жестко кодировать сообщение об ошибке. Вам нужно включить переменную '$!', Например: 'или die 'Невозможно открыть JEEVA.csv для добавления: $!"; 'И да, файл должен быть создан, если он не существует. – TLP

+0

Вообще говоря, это довольно плохая идея, чтобы опубликовать вопрос, а затем не отвечать на него. Это не только препятствует людям участвовать в вашей проблеме, но и делает ваши ответы менее качественными. – TLP

+0

Я могу получить доступ к другому файлу, который находится в том же каталоге. Все файлы имеют разрешение на запись ... –

ответ

0

Временная траектория среды не будет установлена ​​должным образом. Поэтому попробуйте перезагрузить компьютер. Тогда это может сработать. Если это не работает, мы попытаемся найти другую проблему.

+0

Да. Я получил код. Спасибо. –

+0

Это может произойти когда-нибудь, если файл открыт во время работы вашей программы. –

6

Возможно, у вашей программы может быть разрешение на запись в файл в текущем каталоге. Сделать это распечатать сообщение об ошибке, которое объясняет, почему он не может открыть файл:

open FH, ">>JEEVA.csv" or die "could not write to JEEVA.csv: $!"; 
1
open(my $fh, ">>", "JEEVA.csv") or die "Cannot open JEEVA.csv: $!"; 
print $fh $res1; 
close $fh; 

Ехать уверен на FH.

Смежные вопросы