use strict; use warnings; use Data::Dumper; my $eins = {"indirekt.txt" =~ /(.+)\.txt/ => "value"}; my %zwei; $zwei{"direkt.txt" =~ /(.+)\.txt/} = "value"; print Dumper($eins,\%zwei);