Автор Тема: opendir  (Прочитано 3385 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Billi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
opendir
« : 04 Марта 2004, 17:56:53 »
Команда
opendir($d,".");
для открытия текужей директории
выдает ошибку
Bad symbol for filehandle
В чем может быть проблема?
Но я хотя бы знаю, что ни чего не знаю

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
opendir
« Ответ #1 : 04 Марта 2004, 18:01:46 »
Ссылку на словарь дать?
perldoc perldiag
Bad symbol for filehandle
    (P) An internal request asked to add a filehandle entry to something that wasn\'t a symbol table entry.
The documentations is your friend

Оффлайн Billi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
opendir
« Ответ #2 : 04 Марта 2004, 18:09:03 »
Хм..
No documentation found for "Bad".
No documentation found for "for".
Как открыть текущую директорию opendir?
Но я хотя бы знаю, что ни чего не знаю

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
opendir
« Ответ #3 : 04 Марта 2004, 18:12:31 »
Billi ты словарь так и не нашел?
1) используй дериктиву use strict; ВСЕГДА!!!
2) проверь что у тебя файлхендл для opendir и readdir, я на 99% уверен что они разные
opendir ($d, \'.\');
print foreach(readdir($d));
The documentations is your friend

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
opendir
« Ответ #4 : 04 Марта 2004, 18:15:35 »
Курс молодого бойца для тебя лично:
1) открываем консоль
# perldoc perldiag
2) нажимаем кнопочку с символом \'/\' (слеш)
3) вводим название ошибки
3.1) жмем ентер
4) внимательно читаем
Все.
The documentations is your friend

Оффлайн Billi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
opendir
« Ответ #5 : 04 Марта 2004, 18:26:20 »
Я не пытаюсь завалить форум глупыми вопросами,
Сейчас переношу сайт с хоста на хаст 1 в 1
и когда один итот же скрипт выдает на одном хосте
нормальные результаты а на другом глючит, просто интересно естьли другой способ открыть текущую директорию
P.S.
Я не пытаюсь завалить форум глупыми вопросами

Ты сам то пробовал вот такое от траслровать

use strict;

opendir ($d, \'.\');
print foreach(readdir($d));
уменя получилось
Execution of location_.pl aborted due to compilation errors без обьяснений а без use strict; все ок (на локалке)
Но я хотя бы знаю, что ни чего не знаю

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
opendir
« Ответ #6 : 04 Марта 2004, 18:33:22 »
1) покажи мне кусок кода немного до и немного после opendir
2) на какую строку ошибка указывает
3) код должен был быть таким
use strict;
my $d;
opendir ($d, \'.\');
print foreach(readdir($d));

ничего что я не написал #!/usr/bin/perl в начале?
Цитировать
Billi:
просто интересно естьли другой способ открыть текущую директорию

есть куча способов но этот правильный
The documentations is your friend

Оффлайн Billi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
opendir
« Ответ #7 : 04 Марта 2004, 18:40:42 »
Спасибо.
Разобрался великий и ужастный Perl почемуто отказывался понимать такую конструкцию
opendir ($d, \'.\');
зато с опетитом скушал такую
opendir (DIR, \'.\')
Что интересто
а $ и был тем злополучным Bad symbol for filehandle
Но я хотя бы знаю, что ни чего не знаю

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28