如何将像3 10 ^ -20这样的字符串转换为Perl中的数字?

nev*_*int 4 perl numbers

我有一个文件,其中包含如下所示的数字列表:

10^-92
2 10^-14
10^-105
3 10^-20
Run Code Online (Sandbox Code Playgroud)

为了解释远一点10^-92基本上是1E-922 10^-142E^-14.有没有一种紧凑的方法将上述文件中的数字转换为Perl号码?最后,我想用数字对这些数字进行排序.

Eri*_*rom 5

如果所有数字都需要相同的转换成为Perl的数字,为什么不使用正则表达式替换:

use 5.010;

my @nums = ('10^-92', '2 10^-14', '10^-105', '3 10^-20');

s{ (\d*) \s* 10\^ }{ ($1 || 1) . 'e' }xe for @nums;

say "@nums";  # 1e-92 2e-14 1e-105 3e-20
Run Code Online (Sandbox Code Playgroud)