http://www.perlmonks.org?node_id=1013657
krishnashah has asked for the wisdom of the Perl Monks concerning the following question:

Hash looks like this:
$VAR1 = { Key1:Key1_si => { 'KeyA' => { Keya => 'abcd, defg', keyb => '1000', keyc => '80%', keyd => '2011.10.09', keye => '1234-UR-DDDD', keyf => 'rwh', keyg => '600', keyh => 'red', keyi => '900', keyj => '', keyk =>'int4678_tt', }, 'KeyB' => { Keya => 'abcd, defg', keyb => '2000', keyc => '100%', keyd => '2011.11.09', keye => '1234-UR-DDDD', keyf => 'rwh', keyg => '500', keyh => 'red', keyi => '400', keyj => '', keyk =>'int4678_tt', }, }, };
Question: I want to sort this hash on the basis of 'keyc' whose value is varied. So, I want to sort on the basis like below: Key1:Key1_si->KeyB->Keyc Key1:Key1_si->KeyA->keyc Also, I want to have the output with the sorted values along with the rest of attributes like : Print: Key1:Key1_si KeyB Keya keyd Keyc keyf Key1:Key1_si KeyA keya keyd Keyc keyf Can somebody please help me with the code in perl to perform sort as mentioned above. I will really appreciate your time and efforts.

Thanks, Krishna