anan_great has asked for the wisdom of the Perl Monks concerning the following question:

I need to covert the alphabets "one", "two", "three" to numeric "1", "2", "3" etc.... Can anyone help me on this -anan-
  • Comment on Convert from Alphabet "one" to numeric "1"

Replies are listed 'Best First'.
Re: Convert from Alphabet "one" to numeric "1"
by ikegami (Patriarch) on Aug 24, 2009 at 06:20 UTC
Re: Convert from Alphabet "one" to numeric "1"
by Marshall (Canon) on Aug 24, 2009 at 06:33 UTC
    In general, a good way to translate one "thing" to another "thing" is with a hash table.

    Below name2num is a hash table. The key is the name, like "one" and the value is a number like "1". I leave it to you to do some more typing of the digits 4-9, but this will be fast and work well.

    #!/usr/bin/perl -w use strict; my %name2num = ('zero' => 0, 'one' => 1, 'two' => 2, 'three' =>3); my @text = qw ( two three zero one); foreach my $name (@text) { print "$name means $name2num{$name}\n"; } __END__ two means 2 three means 3 zero means 0 one means 1
Re: Convert from Alphabet "one" to numeric "1"
by Sewi (Friar) on Aug 24, 2009 at 09:52 UTC
    %Alphabet = ('one' => 1, 'two' => 2, 'three' => 3); print $Alphabet{"one"}; print $Alphabet{$Written_number};

    You could add the remaining 7 numbers easily.

      I wonder which seven numbers those are. I vote for
      • zero
      • four
      • eight
      • sixteen
      • fourty-two
      • two hundred and fixty-six
      • pi
      A reply falls below the community's threshold of quality. You may see it by logging in.