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

sunil9009 has asked for the wisdom of the Perl Monks concerning the following question:

I have a list of hostclasses each having a list of host, I want to combine all the hosts in the hostclasses to give me an array of hosts. Command "expand-hostclass" gives me a list of hosts with each host as a newline. My problem is that the array considers hosts in each hostclass as a scalar ($hosts_per_hostclass).I want to flatten the scalar ($hosts_per_hostclass) to an array, so that each element in the array is a hostname. Hope I am not confusing too much Please help. I tried the following code

#!/usr/bin/perl my @hostclass = ('Hostclass-A','Hostclass-B','Hostclass-C'); my @hosts; my @TotalHosts; my $class; my $hosts_per_hostclass; gethosts(); sub gethosts { foreach $class(@hostclass) { $hosts_per_hostclass = `expand-hostclass` ; push (@TotalHosts,$hosts_per_hostclass); my @dd = split "\n", @TotalHosts; print "@dd \n"; } }