пожалуйста, сначала посмотрите на следующий код.
#! /usr/bin/perl
package foo;
sub new {
my $pkg = shift;
my $self = {};
my $self->{_fd} = undef;
bless $self, $pkg;
return $self;
}
sub Setfd {
my $self = shift;
my $fd = shift;
$self_->{_fd} = $fd;
}
sub write {
my $self = shift;
print $self->{_fd} "hello word";
}
my $foo = new foo;
Мое намерение - сохранить дескриптор файла в классе, используя хеш. дескриптор файла сначала не определен, но впоследствии может быть инициализирован вызовом функции Setfd. затем
Функция write может быть вызвана для фактической записи строки «hello word» в файл, указанный дескриптором файла, предполагается, что дескриптор файла является результатом успешного открытия «write».
но компилятор perl просто жалуется, что в строке "print" есть синтаксическая ошибка. может кто-нибудь из вас скажет мне, что здесь не так? заранее спасибо.