-sub letter_loop {
- my ($selected_letter, $templte) = @_;
- my $letters = GetLetters('serial');
- my $letterloop;
- foreach my $thisletter (keys %{$letters}) {
- push @{$letterloop}, {
- value => $thisletter,
- selected => $thisletter eq $selected_letter,
- lettername => $letters->{$thisletter},
- };
- }
- $templte->param(letterloop => $letterloop);
- return;
+sub get_letter_loop {
+ my ($selected_lettercode) = @_;
+ my $letters = GetLetters({ module => 'serial' });
+ return [
+ map {
+ {
+ value => $_->{code},
+ lettername => $_->{name},
+ ( $_->{code} eq $selected_lettercode ? ( selected => 1 ) : () ),
+ }
+ } @$letters
+ ];