in reply to Array whitespace

Are you simply trying to print the output of the ypcat command? If so, try the following code:

open PASSWD, "ypcat passwd|"; while (<PASSWD>) { print; } close PASSWD;

Your current code is stringifying a list which does something like:

join(' ', @list);

One final answer, if you change your last line to:

print @nis_passwd;

(notice without the double quotes), the extra space will be removed.