##
$VAR1 = {
'' => undef
};
####
$VAR1 = {
'0.29 type (ABC) {' => {
'19.29 }' => {},
'18.28
' => {},
'6.27 location(Y) {' => {
'6.11
' => {},
'7.12 direction : out;
' => {},
'17.26
' => {},
'18.27 }' => {},
'8.13 surface : 0.0;
' => {},
'10.25 internal_power() {' => {
'16.24
' => {},
'11.17 related_outlet : "A";
' => {},
'12.23 rise_power(wind_template_7x7) {' => {
'14.21 index_2 ("4,5,6,7");
' => {},
'13.20 index_1 ("1,2,3,4");
' => {},
'15.22 hello : "kitty";
' => {},
'12.19
' => {},
'16.23 }' => {}
},
'10.16
' => {},
'17.25 }' => {}
},
'9.14 function : "A";
' => {}
},
'2.8 location(A) {' => {
'2.5
' => {},
'4.7 surface : 0.004189;
' => {},
'3.6 direction : in;
' => {},
'5.8 }' => {}
},
'5.9
' => {},
'1.3 area : 7.761600;
' => {},
'0.2
' => {}
},
'19.30
' => {}
};
####
sub RecursiveFunctionToDeleteValueWithinHash
{
my $HashData = $_[0];
my $FindValue = $_[1];
my $keys;
foreach $keys (sort { $a <=> $b } keys %{$HashData})
{
if ($keys =~ m/^(([\d]+)\.([\d]+) )/)
{
my $MarkerNumber = $1;
my $line_data = $keys;
$line_data =~ s/^([\d]+)\.([\d]+) //;
if ($line_data =~ m/$FindValue/)
{
delete $$HashData{$keys};
next ;
}
my @values = (sort { $a <=> $b } keys %{$$HashData{$keys}});
if (scalar(@values) != 0)
{
$$HashData{$keys} = &RecursiveFunctionToDeleteValueWithinHash($$HashData{$keys}, $FindValue);
}
}
}
return $HashData;
}
####
$VAR1 = {
'0.29 type (ABC) {' => {
'19.29 }' => {},
'18.28
' => {},
'6.27 location(Y) {' => {
'6.11
' => {},
'7.12 direction : out;
' => {},
'17.26
' => {},
'18.27 }' => {},
'8.13 surface : 0.0;
' => {},
'10.25 internal_power() {' => {
'16.24
' => {},
'11.17 related_outlet : "A";
' => {},
'12.23 rise_power(wind_template_7x7) {' => {
'15.22 hello : "kitty";
' => {},
'12.19
' => {},
'16.23 }' => {}
},
'10.16
' => {},
'17.25 }' => {}
},
'9.14 function : "A";
' => {}
},
'2.8 location(A) {' => {
'2.5
' => {},
'4.7 surface : 0.004189;
' => {},
'3.6 direction : in;
' => {},
'5.8 }' => {}
},
'5.9
' => {},
'1.3 area : 7.761600;
' => {},
'0.2
' => {}
},
'19.30
' => {}
};