OK, so others have pointed out the
@path_detail = [];
issue, so I won't mention it again :)
I'm not terribly enamoured with your use of
@path_details in any event. Your ultimate goal
is to place this into the %$rec hash (as a reference)
and then save the hash refs in @timing_paths. That's
OK, but it would be clearer to me if you said something
like
$rec->{path_details} = [];
after creating/resetting the
$rec hash ref, and then
using that straightaway as your array ref when using
push:
push @{ $rec->{path_details} }, $_;
Now you are being explicit about when/where this
info is going to be stored, rather than creating
this "artificial"
@path_details and then plugging
it into
$rec->{'path_details'} later.