У меня проблема со скриптом на 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 ошибки в моем скрипте:
«Использование неинициализированного значения $texte в конкатенации (.) или строки в perl.pl, строка 18, строка 1.
Использование неинициализированного значения $value2 в умножении (*) в строке 14 perl.pl, строке 2.
Любая идея, пожалуйста? огромное спасибо