Almost everybody has faced the need to store a large amount of human-generated information (specifically, extense texts) and later ease the need to search on it. There are many techniques we can use, but we often miss the most powerful ones. Human spoken or written language is known as natural language. In this talk I present some techniques that allow us to process it to make it easier and simpler its analysis, and make more efficient searching on it, specially based on the Snowball project and its application to databases through PostgreSQL’s TSearch2 module. PDF for the full article LyX...
Gunnar Wolf - Nice grey life - page 155
Showing posts 1541 – 1550
Creación y llamada de funciones
sub funcion { (...) }
&funcion(), funcion(), &funcion, funcion
Paso de parámetros y valores de resultado, por valor y por referencia
Arreglo default @_ y por qué
return
Funciones locales: my $func = sub {...}
Entregando múltiples datos, estructuras
Variables globales y el opcional use vars, our
Variables locales (local)
Variables léxicas (my)
undef
Literales numéricas, constantes
Cadenas simples: '...', q(...)
Cadenas con interpolación: "...", qq(...)
Cadenas resultado de ejecución: `...`, qx(...)
Otras maneras de referirse a cadenas: qw(...), qr(...)
Here docs
Aritméticos: +, -, *, /, %, **, ++, --
Comparación: <, <=, ==, >=, >, lt, le, eq, ge, gt, <=>, cmp
Asignación y correspondencia: =, =>, +=, -=, *=, /=, etc.
Condicionales
if expr {
(...)
} elsif expr {
(...)
} else {
(...)
}
(...) if expr
unless
expr and (...)
expr or (...)
expr ? (...) : (...)
Ciclos
while (expr) {
(...)
}
until (expr) {
(...)
}
do {
(...)
}while/until
for (expr1 ; expr2 ; expr3) {
(...)
}
foreach $var (lista) {
(...)
}
Control de flujo
last
next
die
redo
continue
Pseudociclos
map {} ()
grep {} ()
sort {} ()
Es verdadero todo lo que no sea falso
Es falso el valor indefinido (undef)
Es falso el número 0
Es falsa una cadena vacía ('')
Es falsa la cadena '0'
Escalares: $escalar
Arreglos: @arreglo
Hashes: %hash
Breve mención de lo que hay más allá (*glob, \$var, ${$var}, espacios de nombres, variables/funciones anónimas, arreglos multidimensionales, estructuras de datos, closures, etc.)
Un lenguaje natural comprensible por la computadora
Un lenguaje natural ofrece gran riqueza de expresión,sintáctica y semánticamente - ¡Perl permite hasta escribir poesía!
Orígenes y objetivos del lenguaje
En 1987(8?): Lenguaje pegamento
Herdero de C, awk, sed, ksh, csh...
No nos obliga a seguir un paradigma específico, pero permite implemntar a casi cualquiera
Altamente extensible
Filosofía y frases comunes en el lenguaje
TIMTOWTDI - Hay más de una manera dehacerlo.
Hubris, impatiences, laziness
Perl makes easy things easy, and difficult things possible
¿Dónde encontrar documentación?
perldoc
O'Reilly
http://use.perl.org/
http://www.perl.org/
http://www.perl.com/
Revista SysAdmin: The Perl Journal
CPAN
Objetos
Bloques especiales que modifican el flujo
BEGIN
END
Método DESTROY
Interacción con CGI
Interacción con bases de datos
Programación orientada a redes con sockets
subscribe via RSS