http://qs321.pair.com?node_id=410403


in reply to Pearls (not really) of Perl programming

Fellow Monks,
blushing I must confess that I did feel dirty the day I wrote this:
for my $wfref (@{$data{flows}{$data{partners}{$part_id}{flow}}}) { #... }
Keep your data structured, clean, organized and simple... not.

Regards... stefan k
you begin bashing the string with a +42 regexp of confusion

Replies are listed 'Best First'.
Re^2: Pearls (not really) of Perl programming
by ikegami (Patriarch) on Nov 25, 2004 at 18:01 UTC

    There's a trick that helps with deep structures:

    my $flow_id = $data{partners}{$part_id}{flow}; for my $wfref (@{$data{flows}{$flow_id}}) { #... }

    While not necessary here, you can always break things down further:

    my $partner = $data{partners}; my $flow_id = $partner->{$part_id}{flow}; my $flows_ref = $data{flows}{$flow_id}}; for my $wfref (@$flows_ref) { #... }

    or

    my $flow_id = $data{partners}{$part_id}{flow}; my $flows_ref = $data{flows}{$flow_id}}; for my $wfref (@$flows_ref) { #... }

    But in this case, I don't see why flows and partners are in the same structure

    Change %{$data{flows }} to just %flows. Change %{$data{partners}} to just %partners.