|
|
|
||||||||
|
||||||||
|
Búsqueda por Tema |
||||||||
|
|
||||||||
|
|
||||||||
| México así es, pues | ||||||||
| la horca del patibulo iraki | ||||||||
| cursos en el instituto p. coni | ||||||||
| ronquido | ||||||||
| por fin, que es crm? | ||||||||
| nuevo régimen de monotributo, rep._ | ||||||||
| famosos | ||||||||
| cómo se construye una guerra | ||||||||
| mercadeo corporativo | ||||||||
| imagendelaantartida | ||||||||
| ley de trasplantes 24193 | ||||||||
| el sida moviliza la solidaridad | ||||||||
| oxycontin (oxicodone) analgesico e_ | ||||||||
| resíduos industriais e a questão a_ | ||||||||
| patrón de calidad de la carrera de_ | ||||||||
| Ley territorial tierra delfuego nº _ | ||||||||
| Educación: adaptaciÓn al ambito esc_ | ||||||||
| Mi historia clinica | ||||||||
| acerca de la guerra contra irak | ||||||||
| antartida | ||||||||
| Historia del telefono | ||||||||
| el amor | ||||||||
| fluidodinamica computacional y sus_ | ||||||||
| nitrosaminas y alimentos, toxicida_ | ||||||||
| los nuevos ingenieros quimicos y d_ | ||||||||
| Adivina !! | ||||||||
| Cociente intelectual | ||||||||
| reflejo verde | ||||||||
| 17 de abril de 1951 el instituto an_ | ||||||||
| historia de la computacion | ||||||||
| constitución de colombia | ||||||||
| energia | ||||||||
| convivencia judeio musulmana | ||||||||
| champan | ||||||||
| conversor de gramos a onzas | ||||||||
| Sexo anal en usa y latinoamerica | ||||||||
| desaparecidos | ||||||||
| tu primer cita, algunos consejos | ||||||||
| Alcohol y adolescencia | ||||||||
| leyes y principios demostrados emp_ | ||||||||
| referencias sobre el vino en las r_ | ||||||||
| vacunas | ||||||||
| Diarios del peru | ||||||||
| Diarios del peru | ||||||||
| aviones hipersonicos | ||||||||
| codificacion olfatoria | ||||||||
| los significantes, elementos const_ | ||||||||
| Auras del sur artesanias en cerÁmic_ | ||||||||
| Cavas de zonda | ||||||||
| Via auditiva | ||||||||
| Impacto do balancec scorecard na co_ | ||||||||
| cirugia de amigdalas | ||||||||
| Antartida argentina | ||||||||
| posible enfriamiento global | ||||||||
| Universidade corporativa como avala_ | ||||||||
| enzimas (monografico) | ||||||||
| amigdalas (palatinas) | ||||||||
| La conexión entre la guerra del gol_ | ||||||||
| informe epidemiologico sobre patol_ | ||||||||
| adenoidectomia en pacientes con he_ | ||||||||
| embriones | ||||||||
| presidentes de la rep. argentina | ||||||||
| Malvinas las cuatro estaciones de m_ | ||||||||
| glosario de términos embriologicos_ | ||||||||
| Antártida argentina, poco para fest_ | ||||||||
| ¿qué sabemos sobre bulimia y anorex_ | ||||||||
| autoliderazgo por daniel fernando_ | ||||||||
| derechos y deberes del trabajador _ | ||||||||
| traqueomalacia | ||||||||
| cerca del chip de neuro-memoria - _ | ||||||||
| pesificacion de la economia argent_ | ||||||||
| entrevista a la doctora gabriela y_ | ||||||||
| el fenomeno del niño | ||||||||
| volver a la educación primaria int_ | ||||||||
| apostol de paz | ||||||||
| Cómo saber si tienes verdadera nece_ | ||||||||
| recomendaciones higieno dietéticas_ | ||||||||
| Asociación de antígenos bacterianos_ | ||||||||
| el inconsciente, ese poder oculto | ||||||||
| jose maria borrero | ||||||||
| Cociente intelectual | ||||||||
| Gestao ambiental | ||||||||
| alca | ||||||||
| azúcarres | ||||||||
| desarrollo de la capacidad creador_ | ||||||||
| proyecto epigenoma humano _ | ||||||||
| el fenomeno del niño | ||||||||
| Liquen rojo plano wilson | ||||||||
| la doble dimensión de lo simbólico_ | ||||||||
| Argentina, informe político d_ | ||||||||
| A formacao do contabilista na persp_ | ||||||||
| El esperanto | ||||||||
| Aumento de salarios o pobreza | ||||||||
| El origen de hallowe’en | ||||||||
| petróleo y producción | ||||||||
| mercadeo corporativo | ||||||||
| recortar calorias en la vejez | ||||||||
| cuidado con la postdata, por gabri_ | ||||||||
| games | ||||||||
| A contabilidade como avalanca na co_ | ||||||||
|
|
| Vea TODOS losTests |
|
PÁGINAS SUGERIDAS |
| test de cooper, hágalo ya mismo |
| Fiebre aftosa |
| adenoidectomia en pacientes con hemopat_ |
| El jardin del rey |
| el cuerpo como actualización de la expe_ |
| recuso con causa - alfredo bisordi- |
| Deseos para niÑos - que sean niÑos los n_ |
| el pensamiento de noam chomsky _ |
| polucion luminica |
| Educacao ambiental |
| sociedad decapital e industria _ |
| ativo imaterial e forca intelectual |
| alexitimia |
| Evolución |
| test de lesbianismo |
| 2006, 126 aniversario del nacimiento de_ |
| Dia mundial de la tierra |
| Alfinal.con: señales y ruido |
| el calibrador en labio leporino y fisur_ |
| energia |
| nitrosaminas y alimentos, toxicidad |
| incremento en la tasa de cancer |
| Sistema extrapiramidal -consideraciones _ |
| hacia un destino incierto |
| el martirio de larrabure |
| diferencias neurales entre el hombre y _ |
| Nutrivitae |
| nuevo orden mundial, parte vi |
| zafando, el kirchnerismo en su laberint_ |
| V-ras, v-raf y v-src promueven la sobrev_ |
| Benjamin franklin |
| bin laden terrorismo |
| uso de hongos entomopatÓgenos en el con_ |
| Malvinas argentinas |
| leibnitz |
| la mujer y la psicología |
| Azufre |
| cuestión de límites |
| conocimiento sobre salud buco dental en_ |
| trastornos nutricionales derivados de l_ |
| Carta de agradecimiento del sr. bertotto_ |
| anticonception de emergencia y mujeres _ |
| Commendas, el comienzo de las sociedades_ |
| hipotálamo, anatomia |
| El sars es una pieza del complot que com_ |
| El jardin del rey |
| hospitales en argentina |
| el cromo en la dieta |
| apostol de paz |
| Paleogeografia |
| Capital intelectual |
| vitamina d y fallo cardiaco |
| la vaca loca, priones |
| parejas y amigos |
| pan de pita |
| México así es, pues |
| dubonnet |
| Ley territorial tierra delfuego nº 244 r_ |
| la metafísica de giordano bruno |
| los significantes, elementos constituti_ |
| cual es el malestar del gremio docente _ |
| riña de gallos |
| fisiología de la accion de la insulina _ |
| Cómo saber si tienes verdadera necesidad_ |
| contabilidade ambiental por maria elisa_ |
| mercadeo corporativo |
| discurso y prÁctica del neoliberalismo _ |
| El petróleo |
| energÍas alternativas y sustituciÓn del_ |
| a eficiencia do custeio baseado em ativ_ |
| embarazos y malformaciones congenitas |
| Discurso de hugo chavez en argentina, la_ |
| la doctrina social de la iglesia |
| que harias si supieras que vas a morir _ |
| la importancia del desayuno en la dieta_ |
| Aborto |
| games |
| La vida despuÉs de la obra ii |
| E-learning na contabilidade |
| Metabolismo lipídico del embrión en orga_ |
| foca weddel |
| energía solar en spray |
| Consecuencias ambientales |
| Eutanasia |
| como saber si su hijo se droga, test de_ |
| Mecanismos de daño tisular con participa_ |
| aceitunas verdes escabechadas |
| elecciones 2003 en r. argentina |
| Auras del recuerdo |
| ativo imaterial e forca intelectual |
| autoliderazgo - las relaciones _ |
| Azufre |
| orientacion dietoterapica en bulimia y _ |
| contratos |
| petróleo y producción |
| Aborto |
| aprendizaje |
| Auras del sur artesanias en cerÁmica en _ |
| sistemas scada |
| Mecanismos de regulación génica de estró_ |
| ley de genéricos republica argentina |
| ganglios basales |
| síntesis de coenzima q en saccharomyces_ |
| ¿qué sabemos sobre bulimia y anorexia? |
| Dedicación exclusiva y hospital público _ |
| O fenomeno patrimonial e fenomeno ambien_ |
| parafilias |
| el siglo xxi comenzó en 1989 |
| Nutrilife |
| roberto lavagna, entrevistas |
| Los neoliberales se preocupan por nuestr_ |
| ley 48 de equiparacion de oportunidades_ |
| Auras del recuerdo |
| Atentado en oklahoma |
| Antartida argentina accidente del rompeh_ |
| escala de glasgow |
| arabia y el terrorismo. perjuicios econ_ |
| Auras del recuerdo |
| procesos de memoria |
| Pasantia por ciudad holguin cuba salud i_ |
| autoliderazgo - lideres de nosotros mis_ |
| A contabilidade como instrumento de gest_ |
| O contabilista como mediador no processo_ |
| Eutanasia |
| ley 23.551 sindicatos |
| Programa nº 01= como saber si está en pe_ |
| CÓmo influyen los ritmos circadianos en _ |
| Tierra del fuego puede tener su propio t_ |
| epidemias, el hiv sida |
| o conhecimento |
| autoliderazgo - lideres de nosotros mis_ |
![]() |
PERL |
|
El uso de los módulos |
by alfi
Para que escribir una rutina cada vez que la necesitamos, si podemos hacerlo una sola vez y luego invocarla (llamarla) ?
Para eso están los módulos, que en PERL se los reconoce por su extensión, como por ejemplo cgi.pm. La extensión pm está indicándonos que se trata de un módulo.
Por ejemplo, si estuviéramos haciendo un script, y en una parte del mismo necesitamos que a cada variable se le saquen los espacios vacíos (caracter 32 en ASCII) situados delante y detrás de la palabra, pero no entre medio de las palabras.
Para más claridad, si tuvieramos la variable:
$idea=" tengo que sacar los espacios ";
y desearíamos que quedase:
$idea="tengo que sacar los espacios";
Para ello, podemos crear nuestro propio módulo, por ejemplo modulo.pm y allí vamos introduciéndole funciones que nos sean útiles. Acá va escrito el módulo completo. copialo y dale el nombre modulo.pm y subilo al directorio cgi-bin del servidor y cambiale los permisos.
# modulo.pm
## éste módulo hace trim, o sea quita espacios antes y despues del texto ##
pero no entre medio
sub trim_izq{ ## apertura de la subrutina
$largo=length($idea); ## mide el largo de la var $idea
$largo++;
## le incrementa un número al largo
for ($g = 0; $g < $largo; $g++){ ## abre un bucle
usando $largo
$largo1=length($idea); ## redefine $largo1
dinamicamente en bucle
$esp=substr($idea,0,1); ## lee primer caracter de la variable
if ($esp eq
" "){ ## detecta si es un espacio vacio
$idea = substr($idea,1,$largo1-1);
## si lo es, lo recorta
}
}
return $idea;
} ## cierre de la subrutina
sub trim_dcha{
$largo=length($idea); $largo++;
for ($g = 0; $g < $largo; $g++){
$largo1=length($idea);
$esp=substr($idea,$largo1,1);
if ($esp eq " "){
$idea = substr($idea,0,$largo1-1);
}
}
return $idea;
}
1;
OTRA MANERA MAS SIMPLE DE
HACER LO MISMO
(usando expresiones regulares)
ES LA SIGUIENTE
# modulo.pm
## éste módulo hace trim, o sea quita espacios antes y despues del texto ##
pero no entre medio
sub trim_izq{ ## apertura de la subrutina
$idea=~s/^\s*//; #quita espacios iniciales
return $idea;
} ## cierre de la subrutina
sub trim_dcha{
$idea=~s/\s*$//; #quita espacios finales
return $idea;
}
sub trim{
$idea=~ s/\s+//g; #quita
espacios en el medio del texto
return $idea;
}
1;
Veamos que el módulo tiene dos funciones:
sub trim_izq y sub trim_dcha
Esas son las funciones que deberemos llamar para que una variable pierda los espacios delante y detrás.
También fijate que modulo.pm termina en 1; no es un error, en cambio, te dará error si no lo colocas
Ahora, analicemos una de las subrutinas, la trim_izq que está comentada:
sub trim_izq{ ## apertura de la subrutina
esto es fácil, definimos la subrutina con ese nombre
$largo=length($idea); ## mide el largo de la var $idea
acá necesitamos saber el largo de la var $idea QUE ES LA QUE NOS MANDA EL VALOR QUE TENEMOS QUE MODIFICAR
$largo++; ## le incrementa un número al largo
le sumamos un punto al largo obtenido (lo entenderas enseguida)
for ($g = 0; $g < $largo; $g++){ ## abre un bucle
usando $largo
abro un bucle que analizará la variable $idea desde su primer caracter=0 hasta el último $largo. Como pusimos < $largo, era necesario sumarle un punto a $largo para que contemple toda la cadena
$largo1=length($idea); ## redefine $largo1 dinamicamente en bucle
lo mismo de recién, pero en forma dinámica, ya que dentro del bucle, la variable $idea se va a ir reduciendo de largo, por ello es necesario redefinirla.
$esp=substr($idea,0,1); ## lee primer caracter de la variable
en la var $esp guardamos el primer caracter mediante el comando substr. Los parámetros de substr son $idea, que es la variable a analizar, 0 que es el primer caracter a analizar de dicha variable y 1 que es la cantidad de caracteres que vamos a analizar por vez que se ejecute substr.
if ($esp eq " "){ ## detecta si es un espacio vacio
si $esp equivale (eq) a un caracter de espacio " "
$idea = substr($idea,1,$largo1-1);
## si lo es, lo recorta
lo recortamos con substr, fíjate que lo que antes era 0 ahora es 1, porque ya sabemos que en el primer caracter (0) hay un espacio y no queremos tenerlo, entonces redefinimos la var $idea a partir del segundo caracter, por eso en lugar de cero ponemos uno. También modificamos el parámetro cantidad de caracteres de susbtr, ya que acá queremos todo el resto de la variable. Pero como le hemos quitado un caracter al principio, el largo será igual al largo menos uno.
}
## cierre del if
} ## cierre del for
El bucle for está a los fines de analizar todas las veces que sea necesario el primer caracter, ya que si tiene más de un espacio será necesario verificar. Por ejemplo si la variable $idea es igual a " tengo que sacar los espacios ", antes de la palabra tengo hay tres espacios, por lo tanto el bucle se ejecutará tantas veces como caracteres tenga la variable, pero solo reconocerá a la izquierda de la variable tres espacios vacíos.
return $idea;
la subrutina devuelve la var $idea sin los espacios delante o sea a su izquierda
} ## cierre de la subrutina
AHORA A NO OLVIDARSE de que estábamos haciendo un script que tiene que usar al modulo.pm, ya que hasta ahora solo hemos visto el módulo, ahora veamos el script.
#!/usr/bin/perl
use modulo; ## esto habilita el uso de modulo.pm
print "Content-type:text/html\n\n";
$idea=" tengo que
sacar los espacios ";
## ahora llamo a la subrutina para quitarle los espacios a la izquierda
&trim_izq; ##esto invoca la subrutina de modulo.pm
## ahora imprime el resultado en pantalla, sin los espacios a la izquierda
print "$idea<br>";
## ahora le quito los espacios al a derecha
&trim_dcha; ##esto invoca la subrutina de modulo.pm
## ahora imprime el resultado en pantalla, sin los espacios a la derecha
print "$idea<br>";
Ahora los dos scripts
# modulo.pm
## éste módulo hace trim, o sea quita espacios antes y despues del texto ##
pero no entre medio
sub trim_izq{ ## apertura de la subrutina
$largo=length($idea); ## mide el largo de la var $idea
$largo++;
## le incrementa un número al largo
for ($g = 0; $g < $largo; $g++){ ## abre un bucle
usando $largo
$largo1=length($idea); ## redefine $largo1
dinamicamente en bucle
$esp=substr($idea,0,1); ## lee primer caracter de la variable
if ($esp eq
" "){ ## detecta si es un espacio vacio
$idea = substr($idea,1,$largo1-1);
## si lo es, lo recorta
}
}
return $idea;
} ## cierre de la subrutina
sub trim_dcha{
$largo=length($idea); $largo++;
for ($g = 0; $g < $largo; $g++){
$largo1=length($idea);
$esp=substr($idea,$largo1,1);
if ($esp eq " "){
$idea = substr($idea,0,$largo1-1);
}
}
return $idea;
}
1;
El script que invoca al modulo es
#!/usr/bin/perl
use modulo; ## esto habilita el uso de modulo.pm
print "Content-type:text/html\n\n";
$idea=" tengo que
sacar los espacios ";
## ahora llamo a la subrutina para quitarle los espacios a la izquierda
&trim_izq; ##esto invoca la subrutina de modulo.pm
## ahora imprime el resultado en pantalla, sin los espacios a la izquierda
print "$idea<br>";
## ahora le quito los espacios al a derecha
&trim_dcha; ##esto invoca la subrutina de modulo.pm
## ahora imprime el resultado en pantalla, sin los espacios a la derecha
print "$idea<br>";
|
|
|
Alfinal.com no se responsabiliza por el contenido de los artículos publicados. Si el contenido de algun artículo ofende a terceros, comuniquelo a alfinal.com. |
|
|