Print mixed structure : Hash Output « Hash « Perl

Home
Perl
1.Array
2.CGI
3.Class
4.Data Type
5.Database
6.File
7.GUI
8.Hash
9.Language Basics
10.Network
11.Regular Expression
12.Report
13.Statement
14.String
15.Subroutine
16.System Functions
17.Win32
18.XML
Perl » Hash » Hash Output 
Print mixed structure
   

#!/usr/bin/perl
use warnings;
use strict;

my $mixed = [
    'scalar', ['a''B'['c''d']'e'],
    {And=>{'A'=>'A'}}, \'a scalar ref'
];

print_structure($mixed);

sub print_structure {
    my ($data= @_;

    foreach (ref $data) {
        /^$/ and print($data,"\n"), next;
        /^SCALAR/ and print('-> ', $$data, "\n"), next;
        /^HASH/ and do {
            print "\n";
            foreach my $key (keys %{$data}) {
                print "$key => ";
                print_structure ($data->{$key});
            }
            next;
        };
        /^ARRAY/ and do {
            print "\n";
            for my $elc (0..$#{$data}) {
                print "[$elc] : ";
                print_structure ($data->[$elc]);
            }
            next;
        };
        print "?$data?";
    }
}

   
    
    
  
Related examples in the same category
1.Display a hash with print
2.Display the list of values
3.Dump the hash
4.Output nested hash
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.