my @records = map { $_->[0] } sort $sort_routine map { [ $_, $_->{'title'}, $_->{'cleandate'} ] } @_; #### my @records = sort $sort_routine @_; #### ($opt_g =~ /^t/i) ? #flag setting sort order ($sort_routine = \&sort_by_title) : ($sort_routine = \&sort_by_date); #### $sort_routine = ( $opt_g =~ /^t/i ? \&sort_by_title : \&sort_by_date ); #### sub sort_records { my $sort_routine ( $opt_g =~ /^t/i ? sub { $a->{title} cmp $b->{title} } : sub { $a->{date} cmp $b->{date} } ); return sort $sort_routine @_; }