in reply to references hashes arrays fun ... again :-(

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.