my (%INPUT) = @_; my %PM = (); my %UFI = (); my %PLU = (); for my $key (sort keys %INPUT) { $PM{$key} = $DATAINPUT{$key} if $key =~ /^PM_(.*?)/; $UFI{$key} = $DATAINPUT{$key} if $key =~ /^UFI_(.*?)/; if ($key =~ /^PLU_(.*?)/) { $key =~ s-^PLU_(.*?)-$1-; $PLU{$key} = $key; } } undef %INPUT;