my ($acc,$digit_count,$dec_string); $digit_count = 1; $dec_string = "1101110"; map {$acc += $_*$digit_count;$digit_count *=2;} reverse split '',$dec_string; print $acc;