my %answers ; for ( @array ) { /::([\S]+)[^:]*:(.*)/ and $answers{$1} = $2 ; }