Una guía para principiantes sobre los enlaces Expect de Perl: un tutorial sencillo

Script básico de Perl “Hola mundo” (hello.pl)#

Empecemos por lo básico. A continuación se muestra un sencillo script de “Hola mundo” escrito en Perl. Cree un nuevo archivo y asígnele el nombre hello.pl.

#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;

print "-----------\n",
      "Hello World\n",
      "-----------\n";

En este script, utilizamos los módulos integrados de Perl para el manejo de errores (use strict; use warnings; use diagnostics;) para asegurarnos de que el código sea sólido.

Presentamos los enlaces Expect con Perl (test.pl)#

Ahora, profundicemos en el tema principal: cómo utilizar enlaces Expect en un script Perl. Cree otro archivo, test.pl, y agregue el siguiente código:

Cómo obtener la hora de la época actual (marca de tiempo de Unix)

-PHP -PostgreSQL

  • powershell
  • Pitón
  • rubí
  • concha
  • servidor sql -Unix
  • Marca de tiempo Unix -vbscript

desactivarHLJS: falso#

-Perl:

time

-PHP:

time()
  • Rubí:
Time.now # (or Time.new). To display the epoch: Time.now.to_i
  • Pitón:
import time # first, then int(time.time())

-Java:

long epoch = System.currentTimeMillis()/1000;

-Microsoft.NET C#:

epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;

-VBScript/ASP:

DateDiff("s", "01/01/1970 00:00:00", Now())

-Erlang:

calendar:datetime_to_gregorian_seconds(calendar:now_to_universal_time( now()))-719528*24*3600. # OR element(1, now()) * 10000 + element(2, now()).
  • MySQL:
SELECT unix_timestamp(now())

-PostgreSQL:

SELECT extract(epoch FROM now());

-Oracle PL/SQL:

SELECT (SYSDATE - TO_DATE('01-01-1970 00:00:00', 'DD-MM-YYYY HH24:MI:SS')) * 24 * 60 * 60 FROM DUAL

-Servidor SQL:

SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
  • JavaScript:
Math.round(new Date().getTime()/1000.0) // getTime() returns time in milliseconds.
  • Carcasa Unix/Linux:
date +%s

-PowerShell:

Perl – carga del sistema


Para encontrar la carga del sistema, utilice el siguiente fragmento de Perl:

  1. Carga del sistema del último minuto:
my $system_load = exec('<a class="zem_slink" title="Uptime" rel="wikipedia" href="http://en.wikipedia.org/wiki/Uptime">uptime</a> | awk -F "load average: " \'{ print $2 }\' | cut -d, -f1');
my $system_load = qx('uptime | awk -F "load average: " \'{ print $2 }\' | cut -d, -f1');
  1. Carga del sistema de los últimos 5 minutos:
my $system_load = exec('uptime | awk -F "load average: " \'{ print $2 }\' | cut -d, -f2');
my $system_load = qx('uptime | awk -F "load average: " \'{ print $2 }\' | cut -d, -f2');
  1. Carga del sistema de los últimos 15 minutos:
my $system_load = exec('uptime | awk -F "load average: " \'{ print $2 }\' | cut -d, -f3');
my $system_load = qx('uptime | awk -F "load average: " \'{ print $2 }\' | cut -d, -f3');

Perl – Cómo leer un archivo de texto en una variable – 6 formas de hacerlo

6 formas de leer un archivo de texto en una variable

Si está trabajando con archivos grandes, podría considerar usar File::Slurp. Es mucho más rápido que el convencional:

{
  local $/=undef;
  open FILE, "myfile" or die "Couldn't open file: $!";
  binmode FILE;
  $string = &lt;FILE>;
  close FILE;
}

{
  local $/=undef;
  open FILE, "myfile" or die "Couldn't open file: $!";
  $string = &lt;FILE>;
  close FILE;
}

open FILE, "myfile" or die "Couldn't open file: $!";
$string = join("", &lt;FILE>);
close FILE;
  
open FILE, "myfile" or die "Couldn't open file: $!";
while (&lt;FILE>){
 $string .= $_;
}
close FILE;

open( FH, "sample.txt") || die("Error: $!\n");
read(FH, $data, 2000);
close FH;

El formato de la función de lectura es: