Soy nuevo en Perl. Estoy escribiendo el siguiente script para imprimir la información del tiempo de arranque del sistema desde el comando de Windows systeminfo. Mira algún problema aquí. Estoy obteniendo la salida de esta manera.
Alguien podría ayudarme
use strict;
use warnings;
my $filename = 'sysinfo.txt';
my @cmdout = `systeminfo`;
open(my $cmd, '>', $filename) or die "Could not open file '$filename' $!";
print $cmd @cmdout;
foreach my $file (@cmdout) {
open my $cmd, '<:encoding(UTF-8)', $file or die;
while (my $line = <$cmd>) {
if ($line =~ m/.*System Boot.*/i) {
print $line;
}
}
}
Salida:
Died at perl_sysboottime.pl line 8.
¿Qué es la línea 8?
—
Putnik
estás abriendo $ cmd dos veces. No hay ningún error desde el punto de vista de Perl, pero es bastante confuso para cualquiera que tenga que mantener su código
—
Putnik