domingo, 21 de julio de 2013

Perl: Comparativa con Powershell

Powershell es la respuesta (bastante tardada) de Microsoft al shell de Unix/Linux debido a las limitantes del batch MS-DOS.

Tanto Perl como Powershell permiten automatizar tareas, por ejemplo, mediante un script podemos ejecutar un proceso del sistema operativo, buscar un archivo en directorios, encender/apagar el sistema, entre otras cosas más.

Para hacer uso de Powershell debemos tener instalado el .Net framework http://www.microsoft.com/es-mx/download/details.aspx?id=17851 

Abrir la terminal de comandos y teclear: powershell  o bien abrirlo directamente--> Ejecutar: powershell
En Powershell los archivos tienen la extensión *.ps1, en Perl *.pl
1. Hola mundo
hola.ps1
# esto es un comentario
"Hola, mundo desde powershell !!"
#también se puede hacer esto
Write-Host  "Hola, mundo desde powershell !!"

hola.pl
#esto es un comentario
print "Hola, mundo desde Perl !!\n";

2. Paso de parámetros desde terminal
argumentos.ps1
#la declaración de variables es muy parecida a Perl
$args
"no. de parametros: $($args.count)"

argumentos.pl
use strict;
use warnings;

my $tam=scalar(@ARGV);
print "no. de parametros: $tam\n";

3. Uso de for
for.ps1
$args
"no. de parametros: $($args.count)"
foreach($arg in $args){
write-host "$1"
}

for.pl
use strict;
use warnings;

my $tam=scalar(@ARGV);
print "no. de parametros: $tam\n";

for(@ARGV){
  print "$_\n";
}

4. Introducir datos
entrada.ps1
$nombre= Read-Host "Introduce tu nombre: "
Write-Host "Hola $nombre"

entrada.pl
print "Tu nombre: ";
chomp(my $nombre=<STDIN>);
print "Hola $nombre\n";

5. Una simple función
funcion.ps1
function mensaje{
  "soy un simple mensaje"
}
#invocar
mensaje()

funcion.pl
sub mensaje{
  print "soy otro simple mensaje\n";
}
#invocar
mensaje();

6. Uso de if
if.ps1
$valor=18
$edad=read-host "Tu edad es "
if($edad -ge $valor){
write-host "correcto, puedes votar"
}else{
write-host "incorrecto,  no puedes votar todavia"
}

if.pl
my $valor=18;
print "Tu edad: ";
chomp(my $edad=<STDIN>);
if($edad ge $valor){
  print "correcto, puedes votar\n";
}else{
  print "incorrecto, no puedes votar todavia\n";
}

7. Conocer la ubicación del directorio donde se encuentra el script
ubicacion.ps1
<#
esto
es un comentario
multilínea en PS
#>
$ubicacion=gl
write-host $ubicacion

ubicacion.pl
=comment
este es
un comentario
multilínea en Perl
=cut
my $dir=`cd`;
print $dir;


ACTUALIZACIÓN:
La desventaja principal que tiene Powershell es que solo funciona en entornos Windows
ACTUALMENTE SE PUEDE USAR POWERSHELL EN ENTORNOS LINUX & MAC OS





No hay comentarios:

Publicar un comentario

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog