#! /usr/bin/perl use strict; use warnings; while ( my $line = ) { # Vorbelegung mit 0 my %data = ( "Tage" => 0, "Std." => 0, "Min." => 0, ); # Jedes vorbelegte Element wird nun einzeln geprüft for my $item ( keys %data ) { # der Key wird hierbei als Textelement im Pattern verwendet if ( $line =~ m{(\d+) \Q$item\E} ) { $data{$item} = $1; } } # "formatierte" Kontrollausgabe printf "%2d D, %2d h, %2d m\n", @data{qw( Tage Std. Min. )}; } __DATA__ 3 Tage 12 Std. 3 Min. 2 Std. 4 Min. 2 Min. 7 Min. 8 Std. 9 Tage ~