NAME
Mac::PropertyList::XS - work with Mac plists at a low level, really fast
SYNOPSIS
See Mac::PropertyList and Mac::PropertyList::SAX
DESCRIPTION
Mac::PropertyList::SAX was my first attempt to speed up property-list parsing. It achieves about a 30x speed boost, but large files still take too long for my taste. This module addresses some remaining speed gains by implementing some expensive operations in C.
This module is intended to be a drop-in replacement for Mac::PropertyList::SAX, which is itself a drop-in replacement for Mac::PropertyList.
EXPORTS
By default, no functions are exported. Specify individual functions to export as usual, or use the tags ':all', ':create', and ':parse' for the appropriate sets of functions (':create' includes the create* functions as well as plist_as_string; ':parse' includes the parse* functions).
FUNCTIONS
- parse_plist_file
- parse_plist_fh
- parse_plist
- parse_plist_string
-
An alias to parse_plist, provided for better regularity compared to Perl SAX.
- create_from_ref( HASH_REF | ARRAY_REF )
-
Create a plist from an array or hash reference.
The values of the hash can be simple scalars or references. Hash and array references are handled recursively, and Mac::PropertyList objects are output correctly. All other scalars are treated as strings (use Mac::PropertyList objects to represent other types of scalars).
Returns a string representing the reference in serialized plist format.
- create_from_hash( HASH_REF )
-
Provided for backward compatibility with Mac::PropertyList: aliases create_from_ref.
- create_from_array( ARRAY_REF )
-
Provided for backward compatibility with Mac::PropertyList: aliases create_from_ref.
BUGS / CAVEATS
Certainly !
SUPPORT
Please contact the author with bug reports or feature requests.
AUTHOR
Darren M. Kulp, <kulp @ cpan.org>
THANKS
brian d foy, who created the Mac::PropertyList module whose tests were appropriated for this module.
SEE ALSO
Mac::PropertyList, the inspiration for this module.
COPYRIGHT AND LICENSE
Copyright (C) 2009-2017 by Darren Kulp
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.