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.
Respuestas:
¿Has olvidado los corchetes?
a
fuente
Está intentando abrir cada línea dada por el comando systeminfo. No son archivos, son líneas de información.
Una versión revisada de su script podría ser:
o, si desea mantener los datos en
$filename
fuente