#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %wtf; my $string = "test me"; my %hash = parse($string); print "Dumping from main:\n"; print Dumper %wtf; print "------\n\n"; print "dumping hash\n"; print Dumper %hash; print "__________\n\n"; print "\n printing hash:\n"; print Dumper(%hash); print ref %hash, "\n"; sub parse { my @a = split (/ /,"test me"); my %b = ( "one" => "1", "two" => "2", "three" => "3", ); my $c = "c"; %wtf = ( aaa => \@a, bbbb => \%b, ccccc => $c, ); return %wtf; } #### F:\_wo\pl_test>perl 706464.pl Dumping from main: $VAR1 = 'ccccc'; $VAR2 = 'c'; $VAR3 = 'bbbb'; $VAR4 = { 'three' => '3', 'one' => '1', 'two' => '2' }; $VAR5 = 'aaa'; $VAR6 = [ 'test', 'me' ]; ------ dumping hash $VAR1 = 'ccccc'; $VAR2 = 'c'; $VAR3 = 'bbbb'; $VAR4 = { 'three' => '3', 'one' => '1', 'two' => '2' }; $VAR5 = 'aaa'; $VAR6 = [ 'test', 'me' ]; __________ printing hash: $VAR1 = 'ccccc'; $VAR2 = 'c'; $VAR3 = 'bbbb'; $VAR4 = { 'three' => '3', 'one' => '1', 'two' => '2' }; $VAR5 = 'aaa'; $VAR6 = [ 'test', 'me' ];