Saludos respetuosos a todos, he aquí nuevamente como programador, después de ver gestión de proyectos, me toca programar nuevamente después de 10 años alejado pero ahora en Unix antes era VB, VF y algunas shells batch en DOS.
Mi consulta es la siguiente y quiero ver si me pueden ayudar, por favor.
En la empresa alguien programó unos procesos Unix y solo dejó los binarios. Ahora estamos migrando a Red Hat y necesitamos crear librerías nuevas de esos procesos.
Averiguando en la web con Perl, me pareció bastante interesante pues ahora quiero programar las funciones de los procesos binarios en Perl "Open source". La única restricción es que la dirección me solicita por tema de conocimiento hacer las llamadas desde un .ksh a .pl pasando los parámetros necesarios para ejecutar las funciones o procedimientos programados en el archivo Perl.
En el fondo, necesito orientación de:
¿Cómo ejecutar funciones Perl .pl pasando parámetros desde un shell Unix y leer el retorno de la función en el shell?
Ejemplo:
Estoy generando un archivo de funciones:
General_Function_Perl.pl, que contiene el siguiente código (no probado):
Using perl Syntax Highlighting
- sub SeparaCampoString {
- my $VarString = shift;
- my $CharSparator = shift;
- my $InitialPosition = shift;
- my $NewVar = substr($VarString, $InitialPosition, index($VarString,$CharSparator));
- return $NewVar;
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
y la llamada la quiero hacer desde un Shell Unix.
En esta línea:
Using bash Syntax Highlighting
- ############### Cargo arreglo de configuración de códigos
- ############### de servicio con los archivos generados
- for t in "${filecontent00[@]}"
- do
- # buscamos los archivos generados y comparo
- echo "El valor del arreglo es: " "$t"
- line=${filecontent00[*]}
- ############## Aquí debemos llamar a funciones Perl para descomponer la cadena
- ############## de la variable arreglo con el valor de la variable <span style="font-weight: bold">line</span>,
- ############## para que me retorno solo los datos requeridos en función de los
- ############## parámetros de entrada de la función Perl SeparaCampoString
- # Intenté con <span style="font-weight: bold">awk</span>, pero como no soy especialista en esto y necesitamos
- # hacerlo rápido no me funcionó procesar la variable en el awk y no quiero
- # leer archivos si no más bien manejar los datos en memoria.
- #awk -F ';' '{print $1}' "$hola" > kk.dat # no funciona awk sobre variables
- # debo dejar el dato procesado en un archivo
- # y ahí lo aplico
- done
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Agradecería mucho cualquier información que me pueda guiar el respecto. No sé cómo hacer la sentencia en el shell para llamar al archivo .pl y su función más el envío del parámetro y el código de retorno parámetro.
Muchas gracias a toda la comunidad.
atte.
el novato