#!/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; } }