#!/usr/bin/perl -- use strict; use warnings; my @jobs; for ( 1 .. 3){ my $job = { Desc => "desc goes here $_", Time => "time goes here $_", Outcond => "outcond goes here $_", Incond => "Incond goes here $_", # ... }; push @jobs, $job; } use Data::Dumper; print Dumper(\@jobs),$/; __END__ $VAR1 = [ { 'Outcond' => 'outcond goes here 1', 'Time' => 'time goes here 1', 'Incond' => 'Incond goes here 1', 'Desc' => 'desc goes here 1' }, { 'Outcond' => 'outcond goes here 2', 'Time' => 'time goes here 2', 'Incond' => 'Incond goes here 2', 'Desc' => 'desc goes here 2' }, { 'Outcond' => 'outcond goes here 3', 'Time' => 'time goes here 3', 'Incond' => 'Incond goes here 3', 'Desc' => 'desc goes here 3' } ];