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;
}
次に、これらのファイルの 1 つからいくつかの情報にアクセスしようとしています。これが私がそれを行う方法です。
sub getItemDescription {
my $self = @_;
chomp(my $record = $self->{itemsFile});
return $record;
}
次のように、別の手順でアクセスしようとします。
print "Test 3: $self->getItemDescription()\n";
私の質問は次のとおりです。
- ファイルハンドルをオブジェクトに保存する方法は正しいですか? そうでない場合、どのように間違っていますか?
- ファイルの行を読む方法は正しいですか? そうでない場合、どうすれば正しくなりますか?
- 最後に、返されたオブジェクトを印刷する方法は正しいですか?
これは私にとって本当に重要です。ファイル処理用のグローバル変数を作成したり、オブジェクトの構造を変更したりするなど、コードの構造を改善できる方法があれば教えてください。