Net::LDAP::LDIF - LDIF reading and writing
use Net::LDAP::LDIF; $ldif = Net::LDAP::LDIF->new( "file.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 { # do stuff } } $ldif->done ( );
Net::LDAP::LDIF provides a means to convert between Net::LDAP::Entry objects and LDAP entries represented in LDIF format files. Reading and writing are supported and may manipulate single entries or lists of entries.
As when reading an entire file into memory with perl normally, take into account the possibility of memory use when loading an LDIF file in one go.
FILE
may be the name of a file or an
already open filehandle. If FILE
begins or ends with a |
then
FILE
will be passed directly to open
.
Open the file with the given MODE
, eg "w" or "a". FILE
may be
the name of a file or an already open filehandle. If FILE
begins or
ends with a |
then FILE
will be passed directly to open
.
Some DN values in LDIF cannot be written verbatim and have to be encoded in some way:
Specify what happens when an error is detected.
Net::LDAP::LDIF
will croak with an appropriate message.
Net::LDAP::LDIF
will warn with an appropriate message.
Net::LDAP::LDIF
will warn with an appropriate message if -w
is
in effect. The method that was called will return undef
.
Set the LDIF version to write to the resulting LDIF file.
According to RFC 2849 currently the only legal value for this option is 1.
When this option is set Net::LDAP::LDIF tries to adhere more strictly to the LDIF specification in RFC2489 in a few places.
The default is undef meaning no version information is written to the LDIF file.
Number of columns where output line wrapping shall occur.
Default is 78. Setting it to 40 or lower inhibits wrapping.
Use REGEX to denote the names of attributes that are to be considered binary in search results.
When running on Perl 5.8 and this option is given Net::LDAP converts all values of attributes not matching this REGEX into Perl UTF-8 strings so that the regular Perl operators (pattern matching, ...) can operate as one expects even on strings with international characters.
If this option is not given or the version of Perl Net::LDAP is running on is too old strings are encodeed the same as in earlier versions of perl-ldap.
Example: raw => qr/(?i:^jpegPhoto|;binary)/
Net::LDAP::Entry
object.
If the object's version is defined, this method allows to explicitely write the version before an entry is written.
If not called explicitely, it gets called automatically when writing the first entry.
If called without arguments it returns the version of the LDIF file or undef if no version has been set. If called with an argument it sets the LDIF version to VERSION.
According to RFC 2849 currently the only legal value for VERSION is 1.
Net::LDAP::LDIF
object reads fromi
or writes to.
Net::LDAP::Entry
object.
Net::LDAP::Entry
object.
Net::LDAP::Entry
object.
Graham Barr <gbarr@pobox.com>.
Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap@perl.org>.
Copyright (c) 1997-2004 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.