#!/usr/bin/env perl use strict; use warnings; use Var::Pairs; my %hash = (foo => 1, bar => 2); for my $pair1 (pairs %hash) { for my $pair2 (pairs %hash) { printf "%s %s\n", $pair1, $pair2; } } __END__ bar => 2 bar => 2 bar => 2 foo => 1 foo => 1 bar => 2 foo => 1 foo => 1