use 5.010; use strict; use warnings; use List::Util qw( max ); my %hash = ( 4 => 'The future is unknown.', 1 => 'The day before yesterday sucked.', 5 => 'Today is a good day.', 3 => 'Not much hope for tomorrow.', ); my $last = max keys %hash; for my $line ( 1 .. $last ) { say exists $hash{$line} ? $hash{$line} : ''; }