filename => '@', # @ = array (of char) = string #### filename => '$', #### use strict; use warnings; use MooX::Struct Document => [ qw($fileID $filename @tags) ]; my $doc = Document[ 123, 'SampleFileName', [ qw(tag1 tag2 tag3) ] ]; printf "File ID: %s\n", $doc->fileID; printf "Filename: %s\n", $doc->filename; printf "Tags: %s\n", join(', ', @{ $doc->tags }); #### 22:52 >perl 1068_SoPW.pl File ID: 123 Filename: SampleFileName Tags: tag1, tag2, tag3 22:52 >