スカラー結ばについて:私はtie
を使用する必要がカウンタ変数を作成するために、しかしコンストラクタ私は私がこのようにそれを行う可能性が読まれるたびにインクリメントシンプル縛らスカラクラス持っていた場合は
package Counter;
use strict;
use warnings;
sub TIESCALAR {
my $class = shift;
my $value = 0;
bless \$value, $class;
return \$value;
}
sub FETCH {
my $self = shift;
my $value = $$self;
$$self++;
return $value;
}
sub STORE {
my $self = shift;
$$self = shift;
}
1;
を。私は1つのカウンタを作成してエクスポートすることができます。しかし、私が本当にやりたいことは、それをOOに見せることです。私がこのようなnew
メソッドを作成することができると思わ:
sub new {
my $class = shift;
my $counter;
tie $counter, $class;
return $counter;
}
その後、私のメインのスクリプトで実行して二つのカウンタを取得:タイは「doesnのため
my $counter1 = Counter->new();
my $counter2 = Counter->new();
を、私はこれが動作しないと仮定していますコピー(私はどこかのドキュメントでそれを読んで)生き残る、これを行うには単純に方法はありますか?
NB。私はそれが唯一のスタイルの問題であることを知っていますが、それはより正確に見えるでしょう。
すばらしく完全な答えをありがとう! –
また、 '@ _ 'の要素はエイリアスであり、どのように違いがあるのでしょうか。私はエイリアスが言及されている場所を見てきましたが、なぜそれが重要であると思うことができませんでした。ありがとう! –