NAME
String::Interpolate::Shell - Variable interpolation, shell style
VERSION
version 0.02
SYNOPSIS
use String::Interpolate::Shell qw[ strinterp ];
$interpolated_text = strinterp( $text, \%var, \%attr );
DESCRIPTION
String::Interpolate::Shell interpolates variables into strings. Variables are specified using a syntax similar to that use by bash. Undefined variables can be silently ignored, removed from the string, can cause warnings to be issued or errors to be thrown.
- $varname
-
Insert the value of the variable.
- ${varname}
-
Insert the value of the variable.
- ${varname:?error message}
-
Insert the value of the variable. If it is not defined, the routine croaks with the specified message.
- ${varname:-default text}
-
Insert the value of the variable. If it is not defined, process the specified default text for any variable interpolations and insert the result.
- ${varname:+default text}
-
If the variable is defined, insert the result of interpolating any variables into the default text.
- ${varname:=default text}
-
Insert the value of the variable. If it is not defined, insert the result of interpolating any variables into the default text and set the variable to the same value.
- ${varname::format}
-
Insert the value of the variable as formatted according to the specified sprintf compatible format.
- ${varname:~op/pattern/replacement/msixpogce}
-
Insert the modified value of the variable. The modification is specified by op, which may be any of
s,tr, ory, corresponding to the Perl operators of the same name. Delimiters for the modification may be any of those recognized by Perl. The modification is performed using a Perl string eval.
In any of the bracketed forms, if the variable name is preceded with an exclamation mark (!) the name of the variable to be interpreted is taken from the value of the specified variable.
FUNCTIONS
- strinterp
-
$interpolated_text = strinterp( $template, \%var, \%attr );Return a string containing a copy of
$templatewith variables interpolated.%varcontains the variable names and values.%attrmay contain the following entries:- undef_value
-
This indicates how undefined variables should be interpolated
ignore-
Ignore them. The token in
$textis left as is. remove-
Remove the token from
$text.
- undef_verbosity
-
This indicates how undefined variables should be reported.
silent-
No message is returned.
warn-
A message is output via
carp(). fatal-
A message is output via
croak().
BUGS AND LIMITATIONS
You can make new bug reports, and view existing ones, through the web interface at https://rt.cpan.org/Public/Dist/Display.html?Name=String-Interpolate-Shell.
AUTHOR
Diab Jerius <djerius@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2017 by Smithsonian Astrophysical Observatory.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007