#!/usr/bin/perl use warnings; use strict; use Class::Struct; use Data::Dumper; struct(Scale => { name => '$', offset => '$', foo => '$', index => '$', chords => '@', notes => '@' }); my @scales = map 'Scale'->new, 1 .. 5; push @{ $scales[0]->chords }, 'Ami'; print Dumper \@scales;