Автор Тема: Проблема со связыванием переменной типа \'glob\'  (Прочитано 2407 раз)

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

Оффлайн AZtpa

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.aztpa.ru
Добрый день.

Если не затруднит пожалуйста подскажите где кроется ошибка в следующем скрипте:

###############################
# Класс для связывания переменной типа \'glob\'
###############################
package Tie::IO::Inout;
use Carp qw(croak);
use strict;
sub TIEHANDLE {
    my $class = shift;
    my $form = shift;
    open my $self, $form, @_   or croak "can\'t open $form@_: $!";
    $$self->{WRITING} = 1 if $form =~ />/;
    $$self->{FILE} = qw($form@_);
    return bless $self, $class;    
}
# печать в файл filename строк массива @_
sub PRINT {
    my $self = shift;
    croak "can\'t write into file: $$self->{FILE}\\n" unlless $$self->{WRITING};
    print $self map {uc} @_;
}
# считывание одной строки из файла:  filename
sub READLINE {
    my $self = shift;
    return <$self>;
}
############
# основной модуль
############
package main;
use Tie::IO::Inout;
tie(*FOO, \'Tie::IO::Inout\', ">filename");
# добавляем строку
print FOO "New user have been added: ok\\n";
# считываем все строки
print ;

Суть проблемы в следующем:
По логике вещей данный код должен при выполнении последней инструкции напечатать:
New user have been added: ok
но он не печатает ничего.
Не знаю чем это может быть вызвано.

Заранее признателлен,
AZtpa,

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Сходу
croak "can\'t write into file: $$self->{FILE}\\n" unlless $$self->{WRITING};
Это что-то новенькое в синтаксисе Perl
The documentations is your friend

 

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