http://www.perlmonks.org?node_id=500240

bertigo has asked for the wisdom of the Perl Monks concerning the following question:

Following a previous post Best way to sort these strings ? recursive way ? use Parse::RecDescent?, i want to obtain this output with the right order :

TEX1J desc 'Job Start' MEX1J desc 'Job 2' Pred TEX1J MEX2J desc 'Job end' Pred MEX1J, MEX2J # MEX1J must appear after TEX1J because it depend on TEX1J # MEX2J must appear after TEX1J and MEX1J from a hash defined like this: %hash={ 'MEX1J' => { 'desc' => 'Job 2' 'pred' => [TEX1J], }, 'MEX2J' => { 'desc' => 'Job end' 'pred' => [TEX1J,MEX1J], }, 'TEX1J' => { 'desc' => 'Job start' 'pred' => [], } }

I think I must use a recursive algorithm but I don't really see how to do it...

Thanks for the answer

Edited by planetscape - removed <pre> tags; replaced with <code>