Vale, tengo esto pero no me funciona.
print "Los alimentos que ha tomado son: @alimentos\n";
$CAL="ARCHIVO.txt";
open ($CAL,"$CAL")|| die"cannot open file $CAL: $!";
open (OUT, ">OUT.$CAL")|| die"cannot produce file $CAL: $!";
while (my $linea = <$CAL> ) {
chomp $linea;
$suma=0;
for (my $i = 0; $i <@alimentos; $i++) {
if ($linea =~ /^$alimentos[$i]/) {
my @lista = split /;/, $linea;
for my $elemento (@lista) {
print "$elemento\n";
chomp($elemento);
my @lista= split /;/, $linea;
for my $elemento (@lista){
$suma+=$elemento;}
print "$suma\n";
}
}
}
}
close($CAL);
close(OUT);
Consigo que me imprima los alimentos que tomaste y sus calorías al lado, pero me suma las calorías del mismo alimento dos veces en vez de las distintos alimentos. Ayuda por favor...
El archivo en el que se encuentran es un txt como este:
Using text Syntax Highlighting
pescado;200
fruta;100
vodka;240
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4