Fish, David <> wrote: > Hello! The problem I am having is I am pulling data from a table in > a certain order and loading it into the hash array but when I read > the hash array it comes out in a different order than it is written. > What I have done as a work around, is the read the data from a file > that has it in the correct order. Is there away to build the hash so > that it reads in the order it was created? > > > > Key creation and hash build: > select statement ordering by certain columns > ...... > > $key = sprintf("%04d%07d%07d",$chk_num,$trans_seq,$dtl_seq); > $midtlinfo{$key} = > sprintf("%d|%d|%s|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%s|%s|%d|%d|%0.2f|%0. > 2f|%0.2f", > $se_chk_mi_seq, > $obj_num, > $business_date, > $chk_num, > $trans_seq, > ........ > ); > > Reading of the hash: > foreach $mk (keys %midtlinfo) > @mrec = split(/\|/,$midtlinfo{$mk}); > > .... > > }
1. Push keys into an array as you add them to the hash and use that instead of 'keys %hash', ... or ... 2. Use the module designed for that purpose. See http://search.cpan.org/~gsar/Tie-IxHash-1.21/lib/Tie/IxHash.pm HTH -- Brian Raven ----------------------------------------------------------------------------------------------------------- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden. _______________________________________________ ActivePerl mailing list ActivePerl@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs