#!/usr/bin/perl -w use strict; my %hash = ( 'description' => '$description', 'new-role-name' => '$new-role-name', 'role-name' => '$role-name', ); x(%hash); #this makes param,value pairs from %hash print "\n"; my $abc = 99999; x("value" => 12, "xyz" => "$abc"); sub x { my @input = @_; print "array representation: @input\n"; my %hash = @_; print "hash is:\n"; foreach (keys %hash) { print "$_ => $hash{$_}\n"; } } __END__ prints: array representation: role-name $role-name new-role-name $new-role-name description $description hash is: new-role-name => $new-role-name role-name => $role-name description => $description array representation: value 12 xyz 99999 hash is: value => 12 xyz => 99999