in reply to Array consolidating values

#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11107128 use warnings; my @servers = ( { Host => 'server02', GroupName => 'serversA' }, { Host => 'server04', GroupName => 'serversA' }, { Host => 'server02', GroupName => 'serversB' }, { Host => 'server04', GroupName => 'serversB' }, { Host => 'server02', GroupName => 'serversC' }, { Host => 'server04', GroupName => 'serversC' }, { Host => 'server02', GroupName => 'serversD' }, ); local $" = ' is in Groups '; $_ = join '', sort map "@{[ @$_{qw(Host GroupName)} ]}\n", @servers; 1 while s/^(.+$").*\K\n\1/,/m; print;

Outputs:

server02 is in Groups serversA,serversB,serversC,serversD server04 is in Groups serversA,serversB,serversC