#!/usr/bin/perl -w use strict; use warnings; use Data::Dumper; my %hash = ( 'a' => 'b', 'c' => 'd', 'e' => [ 'F', 'G', 'H' ], 'i' => { 'J' => 'K', 'L' => 'M', }, ); as_hash(%hash); as_array(%hash); sub as_hash { my (%hash) = @_; printf "Dump of hash as a hash => %s\n", Dumper(\%hash); my $hash_i_J = $hash{'i'}{'J'}; printf "hash{i}{J} = '%s'\n", $hash_i_J; } sub as_array { my (@array) = @_; print "\nEach element of \@array:\n"; map { print "- $_\n" } @array; printf "\nDump of hash as an array => %s\n", Dumper(\@array); as_hash(@array); }