http://www.perlmonks.org?node_id=927081


in reply to sanity check

Ther are all kinds of issues with your code, and others have pointed some of them out, I'll try to explain.

A major problem you have is with the for statement, which you seem to be using instead of if. In Perl, for is a type of loop for walking through items in a list.
Secondly you are using a single = sign. In many languages, including Perl, a single = is an assignment. In Perl, to do a numeric comparison you use ==, and to do a textual comparison use eq. If we assume that object-group is supposed to be text, then that should be enclosed with quotes. So we are left with:
if ($array[0] eq 'object-group') { print OUTPUT "set shared address-group $array[2]\n"; }
As for the rest, people used to code Perl in that way back in the 20th century, but things have moved on since then. Try running your code through Perl::Critic or http://perlcritic.com/.