my $tail; for (1 .. 10) { my %record = ( title => (1950 + $_), artist => 'chromatic orchestra', ); # handle first condition $tail ||= $record; $tail->{_prev} = \%record; $record{_next} = $tail; $tail = \%record; }