MrSpoocy: grep soll werte aus Hash nehmen.

Beitrag lesen

Hi,

ich habe einen hash der wie folgt aufgebaut ist:

my %hash = {};  
$hash{"xy_0_abc"} = "wert1";  
$hash{"xy_0_def"} = "wert2";  
$hash{"xy_0_ghi"} = "wert3";  
  
$hash{"xy_1_cba"} = "wert11";  
$hash{"xy_1_def"} = "wert22";  
$hash{"xy_1_ihj"} = "wert33";  
  
$hash{"xy_2_hjk"} = "wert12";  
$hash{"xy_2_ahl"} = "wert23";  
$hash{"xy_2_xyz"} = "wert34";

nun möchte ich mit hilfe von Grep einen neuen Hash erzeugen der dann wie folgt aussieht (unterberücksichtiegung das ich eine nummer vorgebe welche mit dem oberem hash übereinstimmt):

my $nummer = 1;  
$newHash{"cba"} = "wert11";  
$newHash{"def"} = "wert22";  
$newHash{"ihj"} = "wert33";

Ich dachte da an sowas wie:

my %newHash = grep (/^xy_$nummer_(.+)/,keys(%hash));

Das geht natürlich noch nicht, aber genau darum frag ich euch ja :)
Würde mich über hilfe freuen,

mfg Spoocy