use YAML; use Text::Template; use strict; my $data = YAML::LoadFile( 'spec.yaml' ); my $text = new Text::Template ( TYPE => 'FILE', SOURCE => 'template.tmpl' ); my @objects = @{$data->{Objects}}; my @relationships = @{$data->{Relationships}}; foreach my $obj (@objects) { our ($package, $value) = %$obj; our %attrs = %{$value->{fields}}; my $out = $text->fill_in(); print $out; }