Your logic in sub main is incorrect. You're reading the contents of the file into @vlink, then changing vlink to be the contents of grepped lines from @links (which doesn't exist). So now @vlinks is empty.
You theh assign the vars like $Maker, $Name etc to the different elements of @vlink (which is empty, so all these vars are now empty) and once you've assigned each part of the @vlinks array, you then foreach through it? Plus when you do your variable assignment, you're starting at 1. First element in the array should be 0
![[Linked Image]](https://ubbdev.com/ubb/smilies/smile.gif)
You need to diagram your flow on paper, then code to follow what you're trying to do
![[Linked Image]](https://ubbdev.com/ubb/smilies/smile.gif)
To give you a start, I *think* this is what you're looking for, for sub main:
--mark