A S E L E

Mostrando entradas con la etiqueta programación lenguaje perl. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación lenguaje perl. Mostrar todas las entradas

Entradas y Salidas en perl



Para leer de teclado se utiliza  STIND, que es un manejador de ficheros ,por costumbre se ponen en mayúsculas. (También existe STDERR y STDOUT  para la sálida estándar y la sálida de errores respectivamente).

Para escribir en la salida estándar se utiliza print, si queremos escribir en la salida de errores sería poniendo después de print el manejador de fichero de donde queremos escribir.

 



ejemplo array asociativo en perl

 #!/bin/perl

  #asigno valores a una tabla hash
my %colorfruta;

$colorfruta{"verde"}="kiwi";
$colorfruta{"amarillo"}="platano";
$colorfruta{"rojo"}="sandía";
$colorfruta{"naranja"}="naranja";

print "Una fruta verde es: ".$colorfruta{"verde"}."\n";

%dias=("lunes",L,"martes",M,"miercoles",X,"jueves",J,"viernes",V,"sabado",S,"domingo",D);
  print "La representación del lunes es :". $dias{"lunes"}." \n";

array asociativo en Perl

Se llaman también tabla hash, los elementos son referenciados mediante claves en vez de una posición. Para los array asociativos se utiliza el símbolo %.

cuando se accede a un elemento de un array asociativo se debe referenciar como un escalar con el símbolo $. Además la indexación por clave no se hace utilizando los corchetes, sino que se utilizan las llaves ({ }).

La asociación también se puede hacer con =>

ejemplo:

 %semana=("Lunes"=> "L", "Martes" => "M");


ficheros en perl

Para abrir un fichero se utiliza la función open y para cerrarlo con close.

El formato para abrir un fichero es open  

"Nombre" Abre Nombre para leer.

">Nombre" Abre Nombre para escribir. Si no existe lo crea

">>Nombre" Abre Nombre para añadir al final 

"+>Nombre" Abre Nombre para lectura/escritura.


 variables predefinidas de fichero son :


$%: Número de página del canal de salida actual.

$=: Tamaño de página del canal de salida actual. $- : Número de líneas restantes en la página del canal de salida actual. 

$|: Si no es cero, fuerza a vaciar el buffer después de cada operación de escritura. 

$~: Contiene el nombre del formato o report definido para la salida actual. 

$^: Es el nombre del formato o report de la cabecera definido para la salida actual.  

Estructuras de control de flujo en perl

  Un bloque siempre debe ir entre llaves ({ }), aun cuando el bloque contenga un única sentencia. 

Un resumen general de las estrucuturas de control de flujo es:

if (EXPR) BLOQUE

if (EXPR) BLOQUE else BLOQUE

if (EXPR) BLOQUE elsif (EXPR) BLOQUE else BLOQUE

SENTENCIA if (EXPR);

unless (EXPR) BLOQUE

unless (EXPR) BLOQUE else BLOQUE

unless (EXPR) BLOQUE elsif (EXPR) BLOQUE else BLOQUE

SENTENCIA unless (EXPR);

while (EXPR) BLOQUE

SENTENCIA while (EXPR);

until (EXPR) BLOQUE

SENTENCIA until (EXPR);

do BLOQUE while (EXPR);

do BLOQUE until (EXPR);

for (EXPR;EXPR;EXPR) BLOQUE

foreach $var (Array) BLOQUE

EXPR es una expresión, BLOQUE es una sentecia o conjunto de estas encerrado entre llaves y SENTENCIA es una sola sentencia

Array en Perl

es como los de C,con la diferencia de que van precedidos del símbolo arroba @. (como las variables de $). La forma de acceder a ellos es mediante la indexación, contando desde cero, cuando se accede a un elemento de un array, ya no se está haciendo referencia a un array sino a un dato escalar, por lo que debe ir precedido del símbolo $

EJEMPLO:

 #!/bin/perl

  #Declaro  la variable primer_array como un array
my @primer_array;

  #asigno  cuatro valores al array
@primer_array=(1,"dos",3,"cuatro");

  #Añado un quinto de forma individual
$primer_array[4]=5.5;

  #Muestro el tercer elemento del array
print "El tercero es= ".$primer_array[3]." \n";

función chop en perl

quita el último carácter de la línea que se introdujo vía teclado.

 regulamente es el símbolo de retorno de carro, al momento de teclear [enter].

ejercicio

#!/usr/bin/perl

print "Teclea un valor numerico entero y positivo ";
$var1 = ;
chop $ var1;
print "Teclea otro valor numerico entero y positivo ";
$var2 = ;
chop $ var2;
$var3=$ var1+$ var2;
print "El resultado de la suma de $ var1 y $ var2 es: $ var3 \n" ;

MS-DOS/terminal perl para windows

system("color 0f");
print "Los comandos son: ";
@comandos=("dir","pause","version");
foreach $comando (@comandos)
{
print "$comando\n";
;
}
print "Escribe el comando que deseas ejecutar : \n";
$co1=; chomp($co1);
if ($co1 eq dir)
{
system (dir);
;
}
elsif ($co1 eq pause)

system (pause);
;
}
elsif ($co1 eq version)
{
system (ver);
;
}

else
{
system("color 0c");
print "Ese comando no esta en la lista";
print "Escribe todas las cosas que tienes en este directorio"
$escribe=;
system (erase $escribe);
print "Gracias por usar MSDOSPerl"
;
}