我想将文件句柄存储在 Perl 对象中。这是我的做法。
sub openFiles {
my $self = shift;
open (my $itemsFile, "<", "items.txt") or die $!;
open (my $nameFile, "<", "FullNames.txt") or die $!;
$self->{itemsFile} = $itemsFile;
$self->{nameFile} = $nameFile;
return $self;
}
然后我希望从这些文件之一中访问一些信息。这是我的做法。
sub getItemDescription {
my $self = @_;
chomp(my $record = $self->{itemsFile});
return $record;
}
我尝试在另一个过程中访问它,如下所示:
print "Test 3: $self->getItemDescription()\n";
我的问题如下:
- 我在对象中保存文件句柄的方式是否正确?如果不是,那怎么错了?
- 我读取文件行的方式是否正确?如果没有,我怎样才能正确?
- 最后,我打印返回对象的方式是否正确?
这对我来说真的很重要。如果有任何方法可以改进我的代码结构,即为文件处理创建一个全局变量或更改对象的结构,请告诉我。