As compared with the average complete amatuer question, you get an A+++.
Your question was clear and it was immediately obvious to me and others that you have some brain cells that are working hard. PerlMonks is a great place to learn, but this only works if you also work. You are working hard and I figure that the result will be great!
I think you are very close to "working code".
There are some fine points to be dealt with and some obvious things like "don't push when you can print!". The code creates an array of strings and then later the code loops over that array to print the strings. No need to do that.. just barf it out right away (e.g. print)