Post History
Perl, 127 bytes Reads string on stdin; display appropriate integer on stdout perl -nE'%h=@a=o1te10el11twel12th3t2fo4f5si6s7e8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;say/y$|-(@a)/?10*$a+$...
#7: Post edited
- # Perl, 127 bytes
- Reads string on stdin; display appropriate integer on stdout
- ```sh
perl -nE'%h=@a=o1te10el11twel12two2th3t2fo4f5si6s7e8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;say/y$|-(@a)/?10*$a+$h{$1}:$a'- ```
- ```sh
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise regex alternation list @a from list
- # initialise mapping table %h from @a
- %h = @a = o1te10el11twel12th3t2fo4f5si6s7e8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/; # get prefix of string
- $a = $h{$1} # map it to number
- + 10*/een/; # add ten if Xteen
- say # display result
- /y$|-(@a)/ # if Xty or Xty-X
- ? 10*$a + $h{$1} # then scale up
- : $a # else as-is
- '
- ```
- [Try it online!][TIO-mo54prfm]
- [TIO-mo54prfm]: https://tio.run/##RZRdb5swFIbv@RUoomq6NAJ/242y9WL/YLdRJ6SaBimCKtB21br99GXAeY97E877QHweG@PneD6Zy8sQ8ybW48s55tdD/X69y9bFz9viqe8fb/bl@vBjc5Pf5evD4@am3GXP57Ybm3x1tRV6yK/kY779mq9uc/7L7nJ13N/X@16MUVTxJMT4Nv3K8ahG2fS6MUNrBxd9F/Z/y8P3zcc0cPm0K1b71cdqVz6s7@upT1Hvi@PvQvzZiOpLGWNX7ia38r342C4PfJtwUW/ombuivlz6Lk6aIhvf@ukqs/F4jjNRWdO/nKdCZ037OhOTDe2v6WqzIb7GbqpcFtun4zhVPuvaZaCQjcstUWXxhMfEPHo8LYOIuUN7HiPdoS6c5lYNh6UdB/TkiMZI1JxTmJt14/s8mwr1lmYpBWfMVqaMWUvFBLOXOgFaBWkY0GpImzKmKx0TXh3pmWCVZKBVmCVVhRqSSnAmSSVT5lejmEBS6QRIUhkGJKlsypBUjglLKs8EkipML4ccdUUlFLVAJEMtOUJQKwDeQpoz6WmDTHbacoScdgDspj0A1HRYdsqsZioqoWYEIqkZyRFqRgFAzWjO2OQGmdSM5Qg14wBYzXgAqJmw7NtZzVZUQs0KRFKzkiPUrAKAmtWcSc0aZHyGliPUrANgNesBoGYDvqJZzlUcoOdEAiTo5CeAolMJQdLpT0KaziRCos5@Aj44XEIs63xC0HWBvvLZ1leoIesFZ3L1MmWoesUEpl4nQKLeMCBPb1OGpndM0jnnmUDSBzp8ZslQoYZkEJxJMsiUIRkUE0gGnQBJBsOAJINNGZLBMWHJ4JnwoRyyf/3z2PbdcNl2/wE "Perl 5 – Try It Online"
- # Perl, 127 bytes
- Reads string on stdin; display appropriate integer on stdout
- ```sh
- perl -nE'%h=@a=o1te10el11twel12th3t2fo4f5si6s7e8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;say/y$|-(@a)/?10*$a+$h{$1}:$a'
- ```
- ```sh
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise regex alternation list @a from list
- # initialise mapping table %h from @a
- %h = @a = o1te10el11twel12th3t2fo4f5si6s7e8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/; # get prefix of string
- $a = $h{$1} # map it to number
- + 10*/een/; # add ten if Xteen
- say # display result
- /y$|-(@a)/ # if Xty or Xty-X
- ? 10*$a + $h{$1} # then scale up
- : $a # else as-is
- '
- ```
- [Try it online!][TIO-mo54prfm]
- [TIO-mo54prfm]: https://tio.run/##RZRdb5swFIbv@RUoomq6NAJ/242y9WL/YLdRJ6SaBimCKtB21br99GXAeY97E877QHweG@PneD6Zy8sQ8ybW48s55tdD/X69y9bFz9viqe8fb/bl@vBjc5Pf5evD4@am3GXP57Ybm3x1tRV6yK/kY779mq9uc/7L7nJ13N/X@16MUVTxJMT4Nv3K8ahG2fS6MUNrBxd9F/Z/y8P3zcc0cPm0K1b71cdqVz6s7@upT1Hvi@PvQvzZiOpLGWNX7ia38r342C4PfJtwUW/ombuivlz6Lk6aIhvf@ukqs/F4jjNRWdO/nKdCZ037OhOTDe2v6WqzIb7GbqpcFtun4zhVPuvaZaCQjcstUWXxhMfEPHo8LYOIuUN7HiPdoS6c5lYNh6UdB/TkiMZI1JxTmJt14/s8mwr1lmYpBWfMVqaMWUvFBLOXOgFaBWkY0GpImzKmKx0TXh3pmWCVZKBVmCVVhRqSSnAmSSVT5lejmEBS6QRIUhkGJKlsypBUjglLKs8EkipML4ccdUUlFLVAJEMtOUJQKwDeQpoz6WmDTHbacoScdgDspj0A1HRYdsqsZioqoWYEIqkZyRFqRgFAzWjO2OQGmdSM5Qg14wBYzXgAqJmw7NtZzVZUQs0KRFKzkiPUrAKAmtWcSc0aZHyGliPUrANgNesBoGYDvqJZzlUcoOdEAiTo5CeAolMJQdLpT0KaziRCos5@Aj44XEIs63xC0HWBvvLZ1leoIesFZ3L1MmWoesUEpl4nQKLeMCBPb1OGpndM0jnnmUDSBzp8ZslQoYZkEJxJMsiUIRkUE0gGnQBJBsOAJINNGZLBMWHJ4JnwoRyyf/3z2PbdcNl2/wE "Perl 5 – Try It Online"
#6: Post edited
# Perl, 131 bytes- Reads string on stdin; display appropriate integer on stdout
- ```sh
perl -nE'@a=%h=o1te10el11twel12two2th3t2fo4f5si6s7e8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;say/y$|-(@a)/?10*$a+$h{$1}:$a'- ```
- ```sh
- perl -nE'
- # split bareword into list of non-digits and digits
# initialise mapping table %h from list# initialise regex alternation list @a from %h@a = %h = o1te10el11twel12two2th3t2fo4f5si6s7e8n9 =~ /\D+|\d+/g;- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/; # get prefix of string
- $a = $h{$1} # map it to number
- + 10*/een/; # add ten if Xteen
- say # display result
- /y$|-(@a)/ # if Xty or Xty-X
- ? 10*$a + $h{$1} # then scale up
- : $a # else as-is
- '
- ```
[Try it online!][TIO-mns1y11k][TIO-mns1y11k]: https://tio.run/##RZRdb5swFIbv@RUoomq6NAJ/242y9WL/YLdRJ6SaBimCKtB21br99GXAeY97E877QHweG@PneD6Zy8sQ8ybW48s55tdD/X69y9bFz9viqe8fb/bl@vBjc5Pf5evD4@am3GXP57Ybm3x1tRV6yK/kY779mq9uc/7L7nJf76@O@16MUVTxJMT4Nv3K8a2X41GNsul1Y4bWDi76Luz/lofvm49p8PJpV6z2q4/VrnxY39dTr6LeF8ffhfizEdWXMsau3E1@5XvxsV0e@Dbhot7QM3dFfbn0XZxURTY1m64yG4/nOBOVNf3LeSp01rSvMzHZ0P6arjYb4mvspsplsX06jlPls65dBgrZuNwSVRZPeEzMo8fTMoiYO7TnMdId6sJpbtVwWNpxQE@OaIxEzTmFuVk3vs@zqVBvaZZScMZsZcqYtVRMMHupE6BVkIYBrYa0KWO60jHh1ZGeCVZJBlqFWVJVqCGpBGeSVDJlfjWKCSSVToAklWFAksqmDEnlmLCk8kwgqcL0cshRV1RCUQtEMtSSIwS1AuAtpDmTnjbIZKctR8hpB8Bu2gNATYdlp8xqpqISakYgkpqRHKFmFADUjOaMTW6QSc1YjlAzDoDVjAeAmgnLvp3VbEUl1KxAJDUrOULNKgCoWc2Z1KxBxmdoOULNOgBWsx4AajbgK5rlXMUBek4kQIJOfgIoOpUQJJ3@JKTpTCIk6uwn4IPDJcSyzicEXRfoK59tfYUasl5wJlcvU4aqV0xg6nUCJOoNA/L0NmVoescknXOeCSR9oMNnlgwVakgGwZkkg0wZkkExgWTQCZBkMAxIMtiUIRkcE5YMngkfyiH71z@Pbd8Nl233Hw "Perl 5 – Try It Online"
- # Perl, 127 bytes
- Reads string on stdin; display appropriate integer on stdout
- ```sh
- perl -nE'%h=@a=o1te10el11twel12two2th3t2fo4f5si6s7e8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;say/y$|-(@a)/?10*$a+$h{$1}:$a'
- ```
- ```sh
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise regex alternation list @a from list
- # initialise mapping table %h from @a
- %h = @a = o1te10el11twel12th3t2fo4f5si6s7e8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/; # get prefix of string
- $a = $h{$1} # map it to number
- + 10*/een/; # add ten if Xteen
- say # display result
- /y$|-(@a)/ # if Xty or Xty-X
- ? 10*$a + $h{$1} # then scale up
- : $a # else as-is
- '
- ```
- [Try it online!][TIO-mo54prfm]
- [TIO-mo54prfm]: https://tio.run/##RZRdb5swFIbv@RUoomq6NAJ/242y9WL/YLdRJ6SaBimCKtB21br99GXAeY97E877QHweG@PneD6Zy8sQ8ybW48s55tdD/X69y9bFz9viqe8fb/bl@vBjc5Pf5evD4@am3GXP57Ybm3x1tRV6yK/kY779mq9uc/7L7nJ13N/X@16MUVTxJMT4Nv3K8ahG2fS6MUNrBxd9F/Z/y8P3zcc0cPm0K1b71cdqVz6s7@upT1Hvi@PvQvzZiOpLGWNX7ia38r342C4PfJtwUW/ombuivlz6Lk6aIhvf@ukqs/F4jjNRWdO/nKdCZ037OhOTDe2v6WqzIb7GbqpcFtun4zhVPuvaZaCQjcstUWXxhMfEPHo8LYOIuUN7HiPdoS6c5lYNh6UdB/TkiMZI1JxTmJt14/s8mwr1lmYpBWfMVqaMWUvFBLOXOgFaBWkY0GpImzKmKx0TXh3pmWCVZKBVmCVVhRqSSnAmSSVT5lejmEBS6QRIUhkGJKlsypBUjglLKs8EkipML4ccdUUlFLVAJEMtOUJQKwDeQpoz6WmDTHbacoScdgDspj0A1HRYdsqsZioqoWYEIqkZyRFqRgFAzWjO2OQGmdSM5Qg14wBYzXgAqJmw7NtZzVZUQs0KRFKzkiPUrAKAmtWcSc0aZHyGliPUrANgNesBoGYDvqJZzlUcoOdEAiTo5CeAolMJQdLpT0KaziRCos5@Aj44XEIs63xC0HWBvvLZ1leoIesFZ3L1MmWoesUEpl4nQKLeMCBPb1OGpndM0jnnmUDSBzp8ZslQoYZkEJxJMsiUIRkUE0gGnQBJBsOAJINNGZLBMWHJ4JnwoRyyf/3z2PbdcNl2/wE "Perl 5 – Try It Online"
#5: Post edited
# Perl, 135 bytes- Reads string on stdin; display appropriate integer on stdout
- ```sh
perl -nE'@a=%h=o1te10el11twel12two2th3t2fo4f5si6s7e8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;$a=10*$a+$h{$1}if/y$|-(@a)/;say$a'- ```
```none- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise mapping table %h from list
- # initialise regex alternation list @a from %h
- @a = %h = o1te10el11twel12two2th3t2fo4f5si6s7e8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
/^(@a)/;$a = $h{$1} + 10*/een/; # map first word, add ten if Xteen$a = 10*$a + $h{$1} if /y$|-(@a)/; # scale up if Xty or Xty-Xsay $a # display result- '
- ```
[Try it online!][TIO-mns1a2ac][TIO-mns1a2ac]: https://tio.run/##RZRdb5swFIbv@RUoImq6NAJ/24sy9WL/YLdVJ6SaBimCKNB21br99GXAeY97E877QHweG@NzvJzM9WWIeRPr8eUS85uhfr/ZZ5vi513x3PdPt4dy8/Bje5t/zTcPT9vbcp@dL203NvlqvRN6yNfyKd99y1d3Of9lf72vD@vjoRdjFFU8CTG@Tb9yfOvleFSjbHrdmKG1g4u@C4e/5cP37cc0ePm8L1aH1cdqXz5u7uupV1EfiuPvQvzZiupLGWO3oKku6i3daJvyvfjY0eOTe1Ffr30XJ12RTQ2nq8zG4yXORGVN/3KZCp017etMTDa0v6arzYb4Grupcllsn4/jVPmsa5eBQjYut0SVxRMeE/Po8bQMIuYO7WWMdIe6cJpbNRyWdhzQkyMaI1FzTmFu1o3v82wq1DuapRScMVuZMmYtFRPMXuoEaBWkYUCrIW3KmK50THh1pGeCVZKBVmGWVBVqSCrBmSSVTJlfjWICSaUTIEllGJCksilDUjkmLKk8E0iqML0cctQVlVDUApEMteQIQa0AeAtpzqSnDTLZacsRctoBsJv2AFDTYdkps5qpqISaEYikZiRHqBkFADWjOWOTG2RSM5Yj1IwDYDXjAaBmwrJvZzVbUQk1KxBJzUqOULMKAGpWcyY1a5DxGVqOULMOgNWsB4CaDfiKZjlXcYCeEwmQoJOfAIpOJQRJpz8JaTqTCIk6@wn44HAJsazzCUHXBfrKZ1tfoYasF5zJ1cuUoeoVE5h6nQCJesOAPL1NGZreMUnnnGcCSR/o8JklQ4UakkFwJskgU4ZkUEwgGXQCJBkMA5IMNmVIBseEJYNnwodyyP7157Htu@G66/4D "Perl 5 – Try It Online"
- # Perl, 131 bytes
- Reads string on stdin; display appropriate integer on stdout
- ```sh
- perl -nE'@a=%h=o1te10el11twel12two2th3t2fo4f5si6s7e8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;say/y$|-(@a)/?10*$a+$h{$1}:$a'
- ```
- ```sh
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise mapping table %h from list
- # initialise regex alternation list @a from %h
- @a = %h = o1te10el11twel12two2th3t2fo4f5si6s7e8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/; # get prefix of string
- $a = $h{$1} # map it to number
- + 10*/een/; # add ten if Xteen
- say # display result
- /y$|-(@a)/ # if Xty or Xty-X
- ? 10*$a + $h{$1} # then scale up
- : $a # else as-is
- '
- ```
- [Try it online!][TIO-mns1y11k]
- [TIO-mns1y11k]: https://tio.run/##RZRdb5swFIbv@RUoomq6NAJ/242y9WL/YLdRJ6SaBimCKtB21br99GXAeY97E877QHweG@PneD6Zy8sQ8ybW48s55tdD/X69y9bFz9viqe8fb/bl@vBjc5Pf5evD4@am3GXP57Ybm3x1tRV6yK/kY779mq9uc/7L7nJf76@O@16MUVTxJMT4Nv3K8a2X41GNsul1Y4bWDi76Luz/lofvm49p8PJpV6z2q4/VrnxY39dTr6LeF8ffhfizEdWXMsau3E1@5XvxsV0e@Dbhot7QM3dFfbn0XZxURTY1m64yG4/nOBOVNf3LeSp01rSvMzHZ0P6arjYb4mvspsplsX06jlPls65dBgrZuNwSVRZPeEzMo8fTMoiYO7TnMdId6sJpbtVwWNpxQE@OaIxEzTmFuVk3vs@zqVBvaZZScMZsZcqYtVRMMHupE6BVkIYBrYa0KWO60jHh1ZGeCVZJBlqFWVJVqCGpBGeSVDJlfjWKCSSVToAklWFAksqmDEnlmLCk8kwgqcL0cshRV1RCUQtEMtSSIwS1AuAtpDmTnjbIZKctR8hpB8Bu2gNATYdlp8xqpqISakYgkpqRHKFmFADUjOaMTW6QSc1YjlAzDoDVjAeAmgnLvp3VbEUl1KxAJDUrOULNKgCoWc2Z1KxBxmdoOULNOgBWsx4AajbgK5rlXMUBek4kQIJOfgIoOpUQJJ3@JKTpTCIk6uwn4IPDJcSyzicEXRfoK59tfYUasl5wJlcvU4aqV0xg6nUCJOoNA/L0NmVoescknXOeCSR9oMNnlgwVakgGwZkkg0wZkkExgWTQCZBkMAxIMtiUIRkcE5YMngkfyiH71z@Pbd8Nl233Hw "Perl 5 – Try It Online"
#4: Post edited
# Perl, 141 bytes- Reads string on stdin; display appropriate integer on stdout
- ```sh
perl -nE'@a=%h=o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;$a=10*$a+$h{$1}if/y$|-(@a)/;say$a'- ```
- ```none
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise mapping table %h from list
- # initialise regex alternation list @a from %h
@a = %h = o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9 =~ /\D+|\d+/g;- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/;
- $a = $h{$1} + 10*/een/; # map first word, add ten if Xteen
- $a = 10*$a + $h{$1} if /y$|-(@a)/; # scale up if Xty or Xty-X
- say $a # display result
- '
- ```
[Try it online!][TIO-mnr270v4][TIO-mnr270v4]: https://tio.run/##RZRdb5swFIbv/StQRNV2WQT@thdl6sX@wW6rVtFmGqQMokC7Vev205cB5z3uDZz3Afk8NsandD7ay/OQiibtx@dzKq6H/ev1Vnw79D9OW3E6t93YFKurodh8LlYfi/JxK27Kx9tddXP/dX1bbcXlbr@7Oux6OSZZp6OU48/pqqZrN116NR5005umtUPrhuRTG7q4@1vdf1m/3X9fV0/bcrVbva221cPN3X4asNzvysPvUv5Zy/pDlVK3oKku92t60DbVa/m2odcn3XJ/ufRdKj4VUkwdp7sS4@GcZqJF0z@fp8KIpn2ZiRVD@2u6OzGkl9RNlRepfTqMUxVE1y4DRTEuj2Qt0hGvyXn0dFwGkXOH9jwmekJdOM2tGg5LOw7oyRGNkag5pzg368bXeTY16g3NUknOmK3KGbNWmglmr0wGtArKMqDVUC5nTFd5Jrw6KjDBKqlIqzBL6ho1JLXkTJJa5cyfRjOBpDYZkKS2DEhSu5whqT0TltSBCSR1nD4OOZqaSigaiUiGRnGEoNEAvIUMZ9IzFpnsjOMIOeMB2M0EAKiZuOyUWc3WVELNSkRSs4oj1KwGgJo1nLHJLTKpWccRatYDsJoNAFCzcdm3s5qrqYSak4ik5hRHqDkNADVnOJOas8j4DR1HqDkPwGouAEDNRfxFs5yvOUDPywxI0Kt3AEWvM4KkN@@ENL3NhES9ewd8cPiMWNaHjKDrI/3ls22oUUM2SM7kGlTOUA2aCUyDyYBEg2VAnsHlDM3gmeRzLjCBZIh0@MySsUYNySg5k2RUOUMyaiaQjCYDkoyWAUlGlzMko2fCkjEw4UM5in/9aWz7brhsuv8 "Perl 5 – Try It Online"
- # Perl, 135 bytes
- Reads string on stdin; display appropriate integer on stdout
- ```sh
- perl -nE'@a=%h=o1te10el11twel12two2th3t2fo4f5si6s7e8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;$a=10*$a+$h{$1}if/y$|-(@a)/;say$a'
- ```
- ```none
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise mapping table %h from list
- # initialise regex alternation list @a from %h
- @a = %h = o1te10el11twel12two2th3t2fo4f5si6s7e8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/;
- $a = $h{$1} + 10*/een/; # map first word, add ten if Xteen
- $a = 10*$a + $h{$1} if /y$|-(@a)/; # scale up if Xty or Xty-X
- say $a # display result
- '
- ```
- [Try it online!][TIO-mns1a2ac]
- [TIO-mns1a2ac]: https://tio.run/##RZRdb5swFIbv@RUoImq6NAJ/24sy9WL/YLdVJ6SaBimCKNB21br99GXAeY97E877QHweG@NzvJzM9WWIeRPr8eUS85uhfr/ZZ5vi513x3PdPt4dy8/Bje5t/zTcPT9vbcp@dL203NvlqvRN6yNfyKd99y1d3Of9lf72vD@vjoRdjFFU8CTG@Tb9yfOvleFSjbHrdmKG1g4u@C4e/5cP37cc0ePm8L1aH1cdqXz5u7uupV1EfiuPvQvzZiupLGWO3oKku6i3daJvyvfjY0eOTe1Ffr30XJ12RTQ2nq8zG4yXORGVN/3KZCp017etMTDa0v6arzYb4Grupcllsn4/jVPmsa5eBQjYut0SVxRMeE/Po8bQMIuYO7WWMdIe6cJpbNRyWdhzQkyMaI1FzTmFu1o3v82wq1DuapRScMVuZMmYtFRPMXuoEaBWkYUCrIW3KmK50THh1pGeCVZKBVmGWVBVqSCrBmSSVTJlfjWICSaUTIEllGJCksilDUjkmLKk8E0iqML0cctQVlVDUApEMteQIQa0AeAtpzqSnDTLZacsRctoBsJv2AFDTYdkps5qpqISaEYikZiRHqBkFADWjOWOTG2RSM5Yj1IwDYDXjAaBmwrJvZzVbUQk1KxBJzUqOULMKAGpWcyY1a5DxGVqOULMOgNWsB4CaDfiKZjlXcYCeEwmQoJOfAIpOJQRJpz8JaTqTCIk6@wn44HAJsazzCUHXBfrKZ1tfoYasF5zJ1cuUoeoVE5h6nQCJesOAPL1NGZreMUnnnGcCSR/o8JklQ4UakkFwJskgU4ZkUEwgGXQCJBkMA5IMNmVIBseEJYNnwodyyP7157Htu@G66/4D "Perl 5 – Try It Online"
#3: Post edited
# Perl, 142 bytes- Reads string on stdin; display appropriate integer on stdout
- ```sh
- perl -nE'@a=%h=o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;$a=10*$a+$h{$1}if/y$|-(@a)/;say$a'
- ```
- ```none
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise mapping table %h from list
- # initialise regex alternation list @a from %h
- @a = %h = o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/;
- $a = $h{$1} + 10*/een/; # map first word, add ten if Xteen
- $a = 10*$a + $h{$1} if /y$|-(@a)/; # scale up if Xty or Xty-X
- say $a # display result
- '
- ```
- [Try it online!][TIO-mnr270v4]
- [TIO-mnr270v4]: https://tio.run/##RZRdb5swFIbv/StQRNV2WQT@thdl6sX@wW6rVtFmGqQMokC7Vev205cB5z3uDZz3Afk8NsandD7ay/OQiibtx@dzKq6H/ev1Vnw79D9OW3E6t93YFKurodh8LlYfi/JxK27Kx9tddXP/dX1bbcXlbr@7Oux6OSZZp6OU48/pqqZrN116NR5005umtUPrhuRTG7q4@1vdf1m/3X9fV0/bcrVbva221cPN3X4asNzvysPvUv5Zy/pDlVK3oKku92t60DbVa/m2odcn3XJ/ufRdKj4VUkwdp7sS4@GcZqJF0z@fp8KIpn2ZiRVD@2u6OzGkl9RNlRepfTqMUxVE1y4DRTEuj2Qt0hGvyXn0dFwGkXOH9jwmekJdOM2tGg5LOw7oyRGNkag5pzg368bXeTY16g3NUknOmK3KGbNWmglmr0wGtArKMqDVUC5nTFd5Jrw6KjDBKqlIqzBL6ho1JLXkTJJa5cyfRjOBpDYZkKS2DEhSu5whqT0TltSBCSR1nD4OOZqaSigaiUiGRnGEoNEAvIUMZ9IzFpnsjOMIOeMB2M0EAKiZuOyUWc3WVELNSkRSs4oj1KwGgJo1nLHJLTKpWccRatYDsJoNAFCzcdm3s5qrqYSak4ik5hRHqDkNADVnOJOas8j4DR1HqDkPwGouAEDNRfxFs5yvOUDPywxI0Kt3AEWvM4KkN@@ENL3NhES9ewd8cPiMWNaHjKDrI/3ls22oUUM2SM7kGlTOUA2aCUyDyYBEg2VAnsHlDM3gmeRzLjCBZIh0@MySsUYNySg5k2RUOUMyaiaQjCYDkoyWAUlGlzMko2fCkjEw4UM5in/9aWz7brhsuv8 "Perl 5 – Try It Online"
- # Perl, 141 bytes
- Reads string on stdin; display appropriate integer on stdout
- ```sh
- perl -nE'@a=%h=o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;$a=10*$a+$h{$1}if/y$|-(@a)/;say$a'
- ```
- ```none
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise mapping table %h from list
- # initialise regex alternation list @a from %h
- @a = %h = o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/;
- $a = $h{$1} + 10*/een/; # map first word, add ten if Xteen
- $a = 10*$a + $h{$1} if /y$|-(@a)/; # scale up if Xty or Xty-X
- say $a # display result
- '
- ```
- [Try it online!][TIO-mnr270v4]
- [TIO-mnr270v4]: https://tio.run/##RZRdb5swFIbv/StQRNV2WQT@thdl6sX@wW6rVtFmGqQMokC7Vev205cB5z3uDZz3Afk8NsandD7ay/OQiibtx@dzKq6H/ev1Vnw79D9OW3E6t93YFKurodh8LlYfi/JxK27Kx9tddXP/dX1bbcXlbr@7Oux6OSZZp6OU48/pqqZrN116NR5005umtUPrhuRTG7q4@1vdf1m/3X9fV0/bcrVbva221cPN3X4asNzvysPvUv5Zy/pDlVK3oKku92t60DbVa/m2odcn3XJ/ufRdKj4VUkwdp7sS4@GcZqJF0z@fp8KIpn2ZiRVD@2u6OzGkl9RNlRepfTqMUxVE1y4DRTEuj2Qt0hGvyXn0dFwGkXOH9jwmekJdOM2tGg5LOw7oyRGNkag5pzg368bXeTY16g3NUknOmK3KGbNWmglmr0wGtArKMqDVUC5nTFd5Jrw6KjDBKqlIqzBL6ho1JLXkTJJa5cyfRjOBpDYZkKS2DEhSu5whqT0TltSBCSR1nD4OOZqaSigaiUiGRnGEoNEAvIUMZ9IzFpnsjOMIOeMB2M0EAKiZuOyUWc3WVELNSkRSs4oj1KwGgJo1nLHJLTKpWccRatYDsJoNAFCzcdm3s5qrqYSak4ik5hRHqDkNADVnOJOas8j4DR1HqDkPwGouAEDNRfxFs5yvOUDPywxI0Kt3AEWvM4KkN@@ENL3NhES9ewd8cPiMWNaHjKDrI/3ls22oUUM2SM7kGlTOUA2aCUyDyYBEg2VAnsHlDM3gmeRzLjCBZIh0@MySsUYNySg5k2RUOUMyaiaQjCYDkoyWAUlGlzMko2fCkjEw4UM5in/9aWz7brhsuv8 "Perl 5 – Try It Online"
#2: Post edited
- # Perl, 142 bytes
- Reads string on stdin; display appropriate integer on stdout
- ```sh
- perl -nE'@a=%h=o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;$a=10*$a+$h{$1}if/y$|-(@a)/;say$a'
- ```
- ```none
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise mapping table %h from list
- # initialise regex alternation list @a from %h
- @a = %h = o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/;
- $a = $h{$1} + 10*/een/; # map first word, add ten if Xteen
- $a = 10*$a + $h{$1} if /y$|-(@a)/; # scale up if Xty or Xty-X
- say $a # display result
- '
```
- # Perl, 142 bytes
- Reads string on stdin; display appropriate integer on stdout
- ```sh
- perl -nE'@a=%h=o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;$a=10*$a+$h{$1}if/y$|-(@a)/;say$a'
- ```
- ```none
- perl -nE'
- # split bareword into list of non-digits and digits
- # initialise mapping table %h from list
- # initialise regex alternation list @a from %h
- @a = %h = o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9 =~ /\D+|\d+/g;
- # set array->string interpolation character for use in regex
- $"="|";
- /^(@a)/;
- $a = $h{$1} + 10*/een/; # map first word, add ten if Xteen
- $a = 10*$a + $h{$1} if /y$|-(@a)/; # scale up if Xty or Xty-X
- say $a # display result
- '
- ```
- [Try it online!][TIO-mnr270v4]
- [TIO-mnr270v4]: https://tio.run/##RZRdb5swFIbv/StQRNV2WQT@thdl6sX@wW6rVtFmGqQMokC7Vev205cB5z3uDZz3Afk8NsandD7ay/OQiibtx@dzKq6H/ev1Vnw79D9OW3E6t93YFKurodh8LlYfi/JxK27Kx9tddXP/dX1bbcXlbr@7Oux6OSZZp6OU48/pqqZrN116NR5005umtUPrhuRTG7q4@1vdf1m/3X9fV0/bcrVbva221cPN3X4asNzvysPvUv5Zy/pDlVK3oKku92t60DbVa/m2odcn3XJ/ufRdKj4VUkwdp7sS4@GcZqJF0z@fp8KIpn2ZiRVD@2u6OzGkl9RNlRepfTqMUxVE1y4DRTEuj2Qt0hGvyXn0dFwGkXOH9jwmekJdOM2tGg5LOw7oyRGNkag5pzg368bXeTY16g3NUknOmK3KGbNWmglmr0wGtArKMqDVUC5nTFd5Jrw6KjDBKqlIqzBL6ho1JLXkTJJa5cyfRjOBpDYZkKS2DEhSu5whqT0TltSBCSR1nD4OOZqaSigaiUiGRnGEoNEAvIUMZ9IzFpnsjOMIOeMB2M0EAKiZuOyUWc3WVELNSkRSs4oj1KwGgJo1nLHJLTKpWccRatYDsJoNAFCzcdm3s5qrqYSak4ik5hRHqDkNADVnOJOas8j4DR1HqDkPwGouAEDNRfxFs5yvOUDPywxI0Kt3AEWvM4KkN@@ENL3NhES9ewd8cPiMWNaHjKDrI/3ls22oUUM2SM7kGlTOUA2aCUyDyYBEg2VAnsHlDM3gmeRzLjCBZIh0@MySsUYNySg5k2RUOUMyaiaQjCYDkoyWAUlGlzMko2fCkjEw4UM5in/9aWz7brhsuv8 "Perl 5 – Try It Online"
#1: Initial revision
# Perl, 142 bytes
Reads string on stdin; display appropriate integer on stdout
```sh
perl -nE'@a=%h=o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9=~/\D+|\d+/g;$"="|";/^(@a)/;$a=$h{$1}+10*/een/;$a=10*$a+$h{$1}if/y$|-(@a)/;say$a'
```
```none
perl -nE'
# split bareword into list of non-digits and digits
# initialise mapping table %h from list
# initialise regex alternation list @a from %h
@a = %h = o1te10el11twel12twen2two2th3fo4fi5si6se7ei8n9 =~ /\D+|\d+/g;
# set array->string interpolation character for use in regex
$"="|";
/^(@a)/;
$a = $h{$1} + 10*/een/; # map first word, add ten if Xteen
$a = 10*$a + $h{$1} if /y$|-(@a)/; # scale up if Xty or Xty-X
say $a # display result
'
```
