Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Printing a hash in a specific order?

by poj (Parson)
on Mar 15, 2003 at 16:49 UTC ( #243319=note: print w/ replies, xml ) Need Help??

in reply to Printing a hash in a specific order?

This prints a single record, or do you want to print many records in a defined order ?

#!/usr/bin/perl -w use strict; # test HOH my %test = ( 'rec1' => { 'key'=>"rec1", 'a' =>"11" x 50, 'b' =>"1b1b1b", 'c' =>"c1c1c1c1c", 'z' =>"zz11zz11zz" }, 'rec2' => { 'key'=>"rec2", 'a' =>"22" x 40, 'b' =>"2b2b2b", 'c' =>"c2c2c2c2c", 'x' =>"xx22xx22xx" } ); my $obj = new mydata(\%test); $obj->Print('rec2'); $obj->Print('rec1'); package mydata; sub new { my (undef,$self)=@_; bless $self; } sub Print { my ($self,$key) = @_; my $record = $self->{$key}; my @parameters = ('key','a','z','c','b','x'); foreach my $parm (@parameters) { next unless ($record->{$parm}); my $value = ($parm eq 'key') ? $key : $record->{$parm}; printf "%-16s: %s\n",$parm,substr($value,0,62) ; printf "\t%s\n",substr($value,62) if length $value > 62; } }

Comment on Re: Printing a hash in a specific order?
Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://243319]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2016-02-12 15:00 GMT
Find Nodes?
    Voting Booth?

    How many photographs, souvenirs, artworks, trophies or other decorative objects are displayed in your home?

    Results (402 votes), past polls