| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > ? непонял |
| Автор: Гость_Fly 31.8.2003, 19:52 |
| Пишу скрипт. Всё нормально работало и вдруг: Software error: Can't call method "db_join_" on an undefined value at script.pl line 248. Я вообще не знаю что такое методы. Вот эта строка... dbmopen (%db_all, "worker/db_join_$sad[$c_d]", 0644 ) || die "Ошибка : $!"; print ' ########## cтрока 248 <br><br> Я в тупике. |
| Автор: Nobody 31.8.2003, 21:00 |
| Перл ругается, что функция db_join_ была вызвана с неопределенным (undef) агрументом. А вообще, тут что-то нечисто с синтаксисом. Рекомендую написать по-понятнее. Со всякими скобочками вокруг аргументов... |
| Автор: Гость_Fly 31.8.2003, 23:15 |
| но ведь db_join_ - это часть имени DBM файла.. скобочки это так - $sad["$c_d"] - щас попробую. |
| Автор: Unregistered 31.8.2003, 23:43 |
| Заменил код на : $for_file = 'db_join_'.$all_sesion["$counter_s"]; dbmopen (%db_jadro, "worker/$for_file", 0644 ) || die "Ошибка при открытии temp-БД: $!"; print ' ########## cтрока 249 <br><br> То же самое. |
| Автор: NightGoblin 4.9.2003, 23:27 |
| $all_sesion["$counter_s"] Зачем кавычки-то вставил?... Это же не хеш.. А вообще имхо с синтаксисом тут все нормально. Ему не нравится вызов метода db_join_ (то же самое, что и функция, в общих словах). Только вот самого вызова я тут не вижу. Может ему имя файла не нравится? Странно, у меня работает |
| Автор: Tamerlann 7.9.2003, 06:43 | ||
И мне тоже кажется, что для начала можно с именами разобраться, сделать их сначала как можно проще для всех переменных, и имена файлов в том числе. Типа "а", "с"... Что получится? |