use strict; use warnings; use List::Util qw(min); use Data::Dumper; my $products_and_prices; my $sellable_products = [ { one => 1, two => 2, }, ]; for my $prod ( @{$sellable_products} ) { push @{$products_and_prices}, { $prod->name => $prod->price, }; } my $lowest = min values $products_and_prices; print Dumper($lowest);