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

The line my @path_details = []; seems to be your problem. Whenever you have square brackets like that, you talking about an arrayref. Arrayrefs are scalars. So, that line should be my $path_details = []; instead.

Now, push won't take an arrayref - it needs an actual array. So, your lines with push now become push @$path_details, ... and that should work.

As a sidenote, a comment like "Find out the important stuff" is completely and utterly useless. What important stuff? Why is it important? Is this all the important stuff?

In addition, that if(){}; section in the beginning should be if-elsif-elsif-elsif instead. If it matches the first, it won't match any of the others. Or, you could just add a next to each of the blocks, cause once you have that info, it looks like you just want to read the next line.

------
/me wants to be the brightest bulb in the chandelier!

Vote paco for President!