$returns{'do_stuff'} = &do_stuff; my $ref99 = $returns{'do_stuff'}->[2] print keys($returns{'do_stuff'}->[2] ) , "\n"; print keys($ref99) , "\n"; sub do_stuff { my $ip = "198.18.0.210"; my $uname = "admin"; my $pass = "admin1"; my $cmd = "show chassis fpc pic-status | no-more"; my $ssh; my @output; my @out_lines; my @pics; my @fpcs; my %chassis; my $reachable; my $hostname = "mx480-0-re0"; my $err; my $exit; #doing stuff.... my @returns = (0 , "Success" , \%chassis , \@fpcs); return(\@returns); } #### $VAR1 = 'do_stuff'; $VAR2 = [ 0, 'Success', { 'Slot 1' => [ 'PIC 0', 'PIC 1', 'PIC 2', 'PIC 3' ], 'Slot 0' => [ 'PIC 0', 'PIC 1', 'PIC 2', 'PIC 3' ] } ];