in reply to array question

I assume by skipping the first element, you mean $array[0], not $array[1]. I also not that you should read Writeup Formatting Tips to keep your array indices from being linkified.

There is no generic loop structure that just skips the first element. You can however use loop control like next to skip undesirable elements:

my $skip = 0; for my $i (0 .. $#array) { next if $i == $skip; #process }

You can also you array slices in order to feed restricted sections of your array to a foreach loop:

for (@array[1 .. $#array]) { #process }

or if you have no need for the loop itself, you can use the slice with a direct assignment:

my @new_array = @array[1 .. $#array]; or if you meant skipping $array[1]

my @new_array = @array[0, 2 .. $#array];

You can do more advanced list preprocessing with map and grep. After all, TIMTOWTDI.