我对 Perl 中的脚本有疑问。
我有一个文本文件作为输入
Hello -> good 0.1 0.2 0.3
Hello -> morning 1 2 0.6
脚本使除法如下:(输出)
Hello |||good ||| 0.1/0.2 0.2/0.3 2.718
Hello ||| morning ||| 1/2 2/0.6 2.718
这是我当前的脚本:
#!/usr/bin/perl
use strict;
use warnings;
use feature qw(:5.10);
my ($fichier1) = "fichier1.txt";
open my $FIC1, "<", $fichier1, or die "impossible ouvrir $fichier1 $! \n";
open(FICHIERNOUVELLES, ">resultat.txt");
while (my $line1 = <$FIC1>) {
chomp $line1;
my ($texte, $value1, $value2, $value3) = ($1, $2, $3, $4) if $line1 =~ /^([a-zA-ZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏñœ=ÒÓÔÕÑÖæñßÙÚÛÜÝàáâãäåçèéêëìíîïðòóô-õöùúûüý@#-%&*_\s]+)([.\d]+)$/;
my $tot_val1 =sprintf("%.15f", $value1 * $value2);
my $tot_val2 =sprintf("%.15f", $value2 * $value3);
print "$texte $tot_val2\n";
print FICHIERNOUVELLES "$texte ($tot_val2)\n";
}
close FICHIERNOUVELLES;
close $FIC1;
我的脚本中有 2 个错误:
"在 perl.pl 第 18 行第 1 行的连接 (.) 或字符串中使用未初始化的值 $texte。
在 perl.pl 第 14 行第 2 行的乘法 (*) 中使用未初始化的值 $value2。
请问有什么想法吗?非常感谢