例如:4.5674 => 4.6
我已经在 CGI 中尝试了以下代码。但我无法获得输出。
use Math::Round;
use Math::Round qw(:all);
use strict;
use warnings;
my $rounded = nearest(.1, 4.65);
print $rounded;
下面显示错误
Illegal character 15 (carriage return) at //ms/dist/perl5/PROJ/Math-Round/0.06/lib/perl5/Math/Round.pm line 1.
(Maybe you didn't strip carriage returns after a network transfer?)
BEGIN failed--compilation aborted at ......
请帮助获取此输出。
关于四舍五入数字,使用 sprintf 函数
#!/usr/bin/perl
my $n = 4.5674;
print sprintf('%.02f',$n);
接下来要将 windows 行尾转换为 Unix 行尾,在 *nix 计算机上使用以下命令
$ dos2unix my_program_file.pl
看起来原始脚本是在Windows上编写的,现在在UNIX上使用错误的行尾(CR LF而不是LF)。
要将 CR LF(Windows 行尾)替换为 LF(UNIX 行尾),请通过以下正则表达式运行文件:
s/ 12 15/n/g;
一个简单的perl文件是:
use warnings;
use strict;
while(<>) {
$_ =~ s/ 12 15/n/g;
print $_;
}
您将按如下方式运行以下命令:
$ perl fixlineendings.pl oldfile.pl > newfile.pl