NAME
DTA::CAB::Utils - generic DTA::CAB utilities
SYNOPSIS
use DTA::CAB::Utils;
##========================================================================
## Functions: XML strings
$safe = xml_safe_string($str);
##========================================================================
## Functions: Deep recoding
$decoded = deep_decode($encoding,$thingy,%options);
$encoded = deep_encode($encoding,$thingy,%opts);
$recoded = deep_recode($from,$to,$thingy, %opts);
$upgraded = deep_utf8_upgrade($thingy);
##========================================================================
## Functions: abstract data path value
$val_or_undef = path_value($obj,@path);
DESCRIPTION
Globals
- Variable: @EXPORT
-
No symbols are exported by default.
- Variable: %EXPORT_TAGS
-
Supports the following export tags:
:xml ##-- xml_safe_string :data ##-- path_value :encode ##-- deep_encode, deep_decode, deep_recode, deep_utf8_upgrade
Functions: XML strings
- xml_safe_string
-
$safe = xml_safe_string($str);
Returns a string $safe similar to the argument $str which can function as an element or attribute name in XML.
Functions: Deep recoding
- deep_decode
-
$decoded = deep_decode($encoding,$thingy,%options);
Perform recursive string decoding on all scalars in $thingy. Does NOT check for cyclic references.
%options:
force => $bool, ##-- decode even if the utf8 flag is set skipvals => \@vals, ##-- don't decode (or recurse into) $val (overrides $force) skiprefs => \@refs, ##-- don't decode (or recurse into) $$ref (overrides $force) skippkgs => \@pkgs, ##-- don't decode (or recurse into) anything of package $pkg (overrides $force)
- deep_encode
-
$encoded = deep_encode($encoding,$thingy,%opts);
Perform recursive string encoding on all scalars in $thingy. Does NOT check for cyclic references.
%opts:
force => $bool, ##-- encode even if the utf8 flag is NOT set skipvals => \@vals, ##-- don't encode (or recurse into) $val (overrides $force) skiprefs => \@refs, ##-- don't encode (or recurse into) $$ref (overrides $force) skippkgs => \@pkgs, ##-- don't encode (or recurse into) anything of package $pkg (overrides $force)
- deep_recode
-
$recoded = deep_recode($from,$to,$thingy, %opts);
Wrapper for:
deep_encode($to,deep_decode($from,$thingy,%opts),%opts);
- deep_utf8_upgrade
-
$upgraded = deep_utf8_upgrade($thingy);
Perform recursive utf_uprade() on all scalars in $thingy. Does NOT check for cyclic references.
Functions: abstract data path value
- path_value
-
$val_or_undef = path_value($obj,@path);
Gets the value of the data path @path in $obj.
AUTHOR
Bryan Jurish <moocow@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2009-2019 by Bryan Jurish
This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.24.1 or, at your option, any later version of Perl 5 you may have available.