use strict;
use warnings;
package Cat;
use Class::Struct;
struct (name => '$');
1;
package Litter;
use Class::Struct;
struct (cats => '@');
1;
package main;
my $cat1 = Cat->new(name=>'Garfield');
my $cat2 = Cat->new(name=>'Felix');
my $litter = Litter->new(cats => [$cat1, $cat2]);
for (@{$litter->cats}) {
print $_->name . "\n"
}
####
my $litter = Litter->new(cats => [$cat1, 1]);
##
##
Can't call method "name" without a package or object reference at ...
##
##
package Litter;
use Class::Struct;
struct (cats => '@Cat');
1;