NAME
DTA::TokWrap::Utils - DTA tokenizer wrappers: generic utilities
SYNOPSIS
use DTA::TokWrap::Utils qw(:files :slurp :progs :libxml :libxslt :time :si);
##========================================================================
## Utils: external programs
$progpath_or_undef = path_prog($progname,%opts);
$exitval = runcmd(@cmd);
##========================================================================
## Utils: XML::LibXML
$parser = libxml_parser(%opts);
##========================================================================
## Utils: XML::LibXSLT
$xslt = xsl_xslt();
$stylesheet = xsl_stylesheet(file=>$xsl_file);
##========================================================================
## Utils: I/O: slurp
\$txtbuf = slurp_file($filename_or_fh);
##========================================================================
## Utils: Files
$mtime_in_floating_seconds = file_mtime($filename_or_fh);
$bool = file_is_newer($dstFile, \@depFiles, $requireMissingDeps);
$bool = file_try_open($filename);
$abs_path_to_file = abs_path($file);
$bool = str2file($string,$filename_or_fh,\%opts);
$bool = ref2file($stringRef,$filename_or_fh,\%opts);
##========================================================================
## Utils: Time
$stamp = timestamp();
##========================================================================
## Utils: SI
$si_str = sistr($val, $printfFormatChar, $printfFormatPrecision);
DESCRIPTION
DTA::TokWrap::Utils provides diverse assorted miscellaneous utilities which don't fit well anywhere else and which don't on their own justify the creation of a new package.
Constants
- @ISA
-
DTA::TokWrap::Utils inherits from DTA::TokWrap::Logger.
- $TRACE_RUNCMD
-
Log-level for tracing runcmd() calls. Default='trace'. See DTA::TokWrap::Logger for details.
Exported under the
:progs
tag.
Utils: external programs
The following are exported under the :progs
tag:
- path_prog
-
$progpath_or_undef = DTA::TokWrap::Utils::path_prog($progname,%opts);
Attempt to find an executable program $progname in $ENV{PATH}.
Known %opts:
prepend => \@paths, ##-- prepend @paths to Env::Path->PATH->List append => \@paths, ##-- append @paths to Env::Path->PATH->List warnsub => \&sub, ##-- warn subroutine if program not found (undef for no warnings)
- runcmd
-
$exitval = DTA::TokWrap::Utils::runcmd(@cmd);
Just a wrapper for system() with optional logging via DTA::TokWrap::Logger.
Utils: XML::LibXML
The following are exported by the :libxml
tag:
- Variable: %LIBXML_PARSERS
-
%LIBXML_PARSERS
XML::LibXML parsers, keyed by parser attribute strings (see libxml_parser())
- libxml_parser
-
$parser = libxml_parser(%opts);
Known %opts (see XML::LibXML(3pm) for details):
line_numbers => $bool, ##-- default: 1 load_ext_dtd => $bool, ##-- default: 0 validation => $bool, ##-- default: 0 keep_blanks => $bool, ##-- default: 1 expand_entities => $bool, ##-- default: 1 recover => $bool, ##-- default: 1
Utils: XML::LibXSLT
The following are exported by the :libxslt
tag:
- Variable: $XSLT
-
Package-global shared XML::LibXSLT object (or undef)
- xsl_xslt
-
$xslt = DTA::TokWrap::Utils::xsl_xslt();
Returns XML::LibXSLT object ($XSLT).
- xsl_stylesheet
-
$stylesheet = DTA::TokWrap::Utils::xsl_stylesheet(file=>$xsl_file); $stylesheet = DTA::TokWrap::Utils::xsl_stylesheet(fh=>$xsl_fh) $stylesheet = DTA::TokWrap::Utils::xsl_stylesheet(doc=>$xsl_doc) $stylesheet = DTA::TokWrap::Utils::xsl_stylesheet(string=>$xsl_string)
Compile an XSL stylesheet from specified source.
Utils: I/O: slurp
The following are exported by the :slurp
tag:
- slurp_file
-
\$txtbuf = DTA::TokWrap::Utils::slurp_file($filename_or_fh); \$txtbuf = DTA::TokWrap::Utils::slurp_file($filename_or_fh,\$txtbuf)
Slurp an entire file into a string.
Utils: Files
The following are exported by the :files
tag:
- file_mtime
-
$mtime_in_floating_seconds = file_mtime($filename_or_fh);
Get file modification time. De-references symlinks. Uses Time::HiRes::stat() if available, otherwise perl core function stat().
- file_is_newer
-
$bool = DTA::TokWrap::Utils::file_is_newer($dstFile, \@depFiles, $requireMissingDeps);
Returns true if $dstFile is newer than all existing @depFiles. If $requireMissingDeps is true, non-existent @depFiles will cause this function to return false.
- file_try_open
-
$bool = file_try_open($filename);
Tries to open() $filename; returns true if successful, otherwise populates $! with the relevant OS error message.
- abs_path
-
$abs_path_to_file = abs_path($file);
Get absolute path for a file or directory. De-references symlinks.
Imported from the
Cwd
module. - str2file
-
$bool = str2file($string,$filename_or_fh,\%opts);
Dumps a string $string to a file $filename_or_fh. Opposite of slurp_file().
%opts: see ref2file().
- ref2file
-
$bool = ref2file($stringRef,$filename_or_fh,\%opts);
Dumps $$stringRef to $filename_or_fh. Opposite of slurp_file().
%opts:
binmode => $layer, ##-- binmode layer (e.g. ':raw') for $filename_or_fh? (default=none)
The following are exported by the :time
tag:
Utils: Time
- time
-
$floating_seconds_since_epoch = PACAKGE::timestamp()
Just a wrapper for Time::HiRes::time().
Utils: SI
The following are exported by the :si
tag:
- sistr
-
$si_str = sistr($val, $printfFormatChar, $printfFormatPrecision);
Returns an SI string for numeric value $val.
SEE ALSO
DTA::TokWrap::Intro(3pm), dta-tokwrap.perl(1), ...
SEE ALSO
DTA::TokWrap::Intro(3pm), dta-tokwrap.perl(1), ...
AUTHOR
Bryan Jurish <moocow@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2009-2018 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.14.2 or, at your option, any later version of Perl 5 you may have available.