#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %hash; my @array = ('KEYWORD      =   wert # Kommentar',             'KEYWORD2     =   wert2 # Kommentar2',             'KEYWORD3=wert3#Kommentar3',             'KEYWORD4  =wert4 #                 Kommentar4',            ); for (@array) {    my ($key, $val, $com) = m~^(.+?)\s*=\s*(.+?)\s*#\s*(.*)$~;    $hash{$key} = { wert => $val, kommentar => $com }; } print Dumper(\%hash);