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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
package ORTestTiedRemote;
use Moo;
use Tie::Array;
use Tie::Hash;
has hash => ( is => 'ro', builder => 1 );
has array => ( is => 'ro', builder => 1 );
sub _build_hash {
tie(my %hash, 'Tie::StdHash');
%hash = ( akey => 'a value');
return \%hash;
}
sub _build_array {
tie(my @array, 'Tie::StdArray');
@array = ('another value');
return \@array;
}
sub sum_array {
my ($self) = @_;
my $sum = 0;
foreach(@{$self->array}) {
$sum += $_;
}
return $sum;
}
sub sum_hash {
my ($self) = @_;
my $sum = 0;
foreach(values(%{$self->hash})) {
$sum += $_;
}
return $sum;
}
1;
|