#!/usr/bin/perl use strict; use warnings; my %attributes; for my $line () { #__DATA__ zeilenweise durchlaufen chomp $line; #Zeilenumbruch entfernen my @line_parts = split / /, $line; #Zeile in n Teile aufteilen my $identifier = shift @line_parts; #erstes Element von @line_parts als Bezeichner verwenden $attributes{$identifier} = \@line_parts; #Rest zuweisen print "$identifier: $attributes{$identifier}->[0]\n"; #Ausgabe1 } #Ausgabe2 for my $attr (sort keys %attributes) { print "$attr"; print ":" . (@{ $attributes{$attr} })[1 .. $#{ $attributes{$attr} }] . " " if defined( @{ $attributes{$attr} }[1]); #prüfen ob noch etwas zum Augeben außer dem Bezeichner vorhanden ist und ggf. Ausgabe } __DATA__ Attribut1 50 :xyz,xy Attribut2 Zeit :nv Attribut3 17:00:00