[Programación] Re: [Programación] Argumentos para ge
nerar "todos en uno" en perl...
Nicolás Aimetti
programacion@lugro.org.ar
Tue, 20 Dec 2005 16:16:04 +0000
hola...
> Holas...
> En C uno puede generar el concepto "todo en uno" simplemente analizando
> el campo $0 en bash o argv[0] en C, es decir a modo de ejemplo (como es
> el caso de mv, cp, rm, etc...)
>
> #include<stdio.h>
> #include<stdlib.h>
> #include <string.h>
> .......
> int main(int c,char* argv[])
> {
> ...............
> if(!strcmp(argv[0],"mv")){
> ...............
> }
> if(!strcmp(argv[0],"cp")){
> ....................
> }
> if(!strcmp(argv[0],"rm")){
> ..................
> }
> .........................
> }
>
> luego si lo compilo como "cc caca.c -o caca" entonces ahora uso un
> hard-link...
>
> ln caca mv
> ln caca cp
> ln caca rm
>
> entonces tengo varios comandos en un solo código...
>
> Se entiende lo que busco...? esto como se lo puede hacer en perl..?
> (sin apelar al bash... claro...)
>
> Saludos Horacio.
>
>
$0 Contains the name of the program being executed.
Igualito al bash...
Así que:
if ( $0 =~ /foo\.pl$/ ) {
print "Soy foo.pl!!!\n";
}else{
print "soy cualquier otra cosa\n";
};
En perl también existe la variable @ARGV que contiene los parametros
pasados al script, numerados de 0 a n... pero en la posición 0 guarda el
primer parametro, no el nombre del script como haría C.
Saludos,
Nicolás.