Controlando la interfaz

$ cat inline_japh.pl
#!/usr/bin/perl -w

(@ARGV == 1) or die "Modo de uso:\n$0  string\n";
my ($n) = @ARGV;

use Inline C;

print JAxH($n);

__END__
__C__
SV * JAxH(char *x) {
  return newSVpvf("Just Another %s Hacker\n",x);
}
En este ejemplo no se le pasa el código directamente mediante un documento HERE, sino que se buscará en el fichero DATA definido como el texto a partir del terminal __END__ en la sección definida a partir del terminal __C__.

El tipo SV * corresponde a puntero a un escalar Perl. Un valor escalar Perl SV puede ser de uno de cuatro tipos:

las seis rutinas que lo permiten son: pueden verse mas detalles llamando a perldoc en los tópicos perlguts y perlapi. En este ejemplo hemos manejado explícitamente la conversión.

Los argumentos de newSVpvf se procesan como los de sprintf y la salida asi formateada es el resultado.

Ejecución:

$ ./inline_japh.pl Perl
Just Another Perl Hacker
$ ./inline_japh.pl C
Just Another C Hacker

Casiano Rodríguez León
Licencia de Creative Commons
Programación Distribuida y Mejora del Rendimiento
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=44.
2012-06-19