примерно так
Misha v.3 28.06.2006 15:28
парсер сообщает: в 25 строке файла z:/home/stepka.ru/www/classes/uri.p вы пытаетесь у строки вызвать метод с названием hash, которого у строки не существует.
спорить с ним и утверждать что в документации/примере сказано что тут должна быть не строка, а что-то другое (таблица по вашим ожидаением) - бессмысленно. надо начинать думать в таком направлении: а почему он считает, что тут - строка? кто её туда записал? соответственно надо подняться выше по коду и посмотреть, где у вас происходит запись в эту переменную.
в вашем случае запись происходиля в строке (что вы этим хотели сказать я не понял):
$self.items[$items]
а вот переменная $items до этого не инициилизировалась вовсе, т.к. строка с select, в которой к тому-же была синтаксическая ошибка, была закомментирована (символ '#').
примерно так следует рассуждать когда парсер сообщает об ошибке. надо пытаться понять что именно ему не нравится.
хотя возможно это была и не ошибка вовсе, а надо было вызывать метод @init[] с параметром, где в качестве параметра должны была быть таблица (может для этого ту строку и закомментировали, но тогда можно было закомментировать и метод создания таблицы $item, т.к. она не используется).