Net::LDAP::LDIF(3pm) | User Contributed Perl Documentation | Net::LDAP::LDIF(3pm) |
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.
By default, Net::LDAP::LDIF supports reading attribute values from URLs of type "file://".
When Gisle Aas' LWP module package is installed, Net::LDAP::LDIF uses it to also support reading data from the URL types supported by these modules; most prominently "http://", "https://", and "ftp://" resources. This extended feature is dynamically detected at runtime.
"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".
"MODE" can be any of the modes allowed for Perl's open() function, potentially extended by PerlIO layers as described in perlopentut. Alternatively, it can be one of the mode indicators "r", "r+", "w", "w+", "a", "a+" known from C's fopen() function, which get mapped to their Perl counterparts. If "MODE" is omitted, it defaults to "r" for reading.
"OPTIONS" is a list of name/value pairs, recognizing:
Note this value is the string 'undef', not the "undef" value.
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.
Default is 78. Setting it to 40 or lower inhibits wrapping.
When 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, attribute values are treated as byte strings.
Example: raw => qr/(?i:^jpegPhoto|;binary)/
In scalar mode, the "Net::LDAP::Entry" object is returned alone, while in list mode a list is returned consisting of the "Net::LDAP::Entry" object as first element followed by all "Net::LDAP::Control" objects that were part of the LDIF entry. See RFC 2849 for details.
The arguments accepted are a list of entries, optionally interspersed with options belonging to the preceding entry.
For each entry, "OPTIONS" is a list of key-value pairs, recognizing:
If not called explicitly, it gets called automatically when writing the first entry.
According to RFC 2849 currently the only legal value for VERSION is 1.
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.
2021-01-03 | perl v5.32.0 |