Forum Webscript.Ru
Программирование => Perl => Тема начата: toypaul от 07 Марта 2003, 21:59:49
-
Есть как будто бы объект. В нем открывается файл и хэндл запоминается:
if (open($fh,$self->{filemode}.$self->{filename}))
{
$self->{fh} = $fh;
...
Затем производятся и файл зыкрывается
close($self->{fh});
undef($self->{fh});
$self->{opened} = 0;
А затем опять попытка открытия. Немного по другому. В первый раз мы файл создали (метод new). Затем поработали и закрыли (close). Теперь открываем (opendb). Ну и... файл открывается, то есть
if (open($fh,$self->{filemode}.$self->{filename}))
{
$self->{fh} = $fh;
open отрабатывает и в блок заходим. Но! Данные из файла не читаются. Хотя $self->{filemode} = "<". Мучаемся... Находим, если объекту присвоить 0 , например $tdb = 0, то файл читается. Но это естественно не устраивает - объект должен сохранить свое состояние (даже после метода close).
Вот такая фигня. Perl под Вынь98.