my (%data, $system, @fields); $system = "foo"; open (FILE, "$system"); while () { @fields = split (/:/, $_); $data{$system}{$fields[$1]} = $fields[$2]; }; close FILE; foreach (sort keys %{$data{$system}}) { printf ("%-30s%-30s\n", $_, $data{$system}{$_}); };