#!/usr/bin/perl
use strict;
use warnings;

my %hash = (
    key1 => "value1",
    key2 => sub {
        return "value2"; # In the real code, this value can differ
    },
);

sub evaluate {
    my $val = shift;
    return $val->() if ref($val) eq 'CODE';
    return $val;  # otherwise
}

foreach my $key (sort keys %hash) {
    print evaluate($hash{$key}) . "\n";
}