use strict; use warnings; my $ENABLE = 0; my $REQUIRE = 1; my $DISABLE = 2; my $DataRates = 'basic-2.0 1.0 basic-5.5'; my %DataRatesHash = (1.0 => $DISABLE, 2.0 => $DISABLE, 5.5 => $DISABLE, 48.0 =>$DISABLE, 54.0=>$DISABLE); foreach my $rate (split(/ /, $DataRates)) { if(my ($rate1) = $rate =~/basic-(.+)/) { print "Data Rate - $rate \n"; %DataRatesHash->{$rate1} = $REQUIRE; print %DataRatesHash->{$rate1}; print "\n"; } else { print "Data Rate - $rate \n"; %DataRatesHash->{$rate} = $ENABLE; print %DataRatesHash->{$rate}; print "\n"; } } print %DataRatesHash->{2.0} ; print %DataRatesHash->{1.0} ; print %DataRatesHash->{5.5} ; print %DataRatesHash->{48.0} ;