Perl – Leer valores de archivo LDIF con Net::LDAP::LDIF

perl_frase

perl_frase

El siguiente código fuente escrito en el lenguaje de programación Perl, lee un archivo LDIF exportado desde openldap, captura los valores que nos interesan de cada objeto (en nuestro caso uid, mail y displayname), para ir mostrándolos en el terminal mientras se esta ejecutando y genera un archivo plano resultante con los valores que necesitábamos. La magia de entender y manipular amigablemente archivos LDIF para lectura y escritura la realiza el modulo Net::LDAP::LDIF de CPAN. En Debian o derivados instalen el paquete libnet-ldap-perl.

 

#!/usr/bin/perl
# aptitude install libnet-ldap-perl
# Lee valores de archivo ldif

use Net::LDAP::LDIF;

$ldif = Net::LDAP::LDIF->new( "ldap.ldif", "r", onerror => 'undef' );
while ( not $ldif->eof( ) ) {
  $entry = $ldif->read_entry( );
  if ( $ldif->error ( ) ) {
   print "Error msg: ", $ldif->error( ), "\n";
   print "Error lines:\n", $ldif->error_lines( ), "\n";
  } else {
   $uid  = $entry->get_value("uid");
   $mail = $entry->get_value("mail");
   $displayname  = $entry->get_value("displayname");
   $result_ldif  = "$uid,$mail,$displayname \n";
   print $result_ldif;
   open (ARCHIVO_FINAL,">> result_ldif.csv") || die "No se puede abrir el archivo\n";
   print ARCHIVO_FINAL $result_ldif;
   }
}
$ldif->done ( );

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s