OSSP CVS Repository

ossp - ossp-web/pkg/lib/var/index.wml
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

ossp-web/pkg/lib/var/index.wml

#use wml::ossp area=pkg:lib subarea=var

<title>OSSP var</title>

<h1>Variable Expansion</h1>

<h2>Abstract</h2>

OSSP var is a flexible, full-featured and fast variable construct
expansion library. It supports a configurable variable construct
syntax very similar to the style found in many scripting languages
(like <tt>@name</tt>, <tt>${name}</tt>, <tt>$(name)</tt>, etc.)
and provides both simple scalar (<tt>${name}</tt>) and array
(<tt>${name[index]}</tt>) expansion, plus optionally one or more
post-operations on the expanded value (<tt>${name:op:op...}</tt>).

<p>
The supported post-operations are length determination, case conversion,
defaults, postive and negative alternatives, sub-strings, regular
expression based substitutions, character translations, and padding.
Additionally, a meta-construct plus arithmetic expressions for index and
range calculations allow (even nested) iterations over array variable
expansions (<tt>..[..${name[#+1]}..]..</tt>). The actual variable value
lookup is performed through a callback function, so OSSP var can expand
arbitrary values.

<p>
<blockquote>
<font size=-1>
Hint: There is also an ISO C++ derivative of the OSSP var library, named
<a href="http://cryp.to/libvarexp/">libvarexp</a>. It is based on
a development version of OSSP var and hence does not provide exactly
the same amount of functionality. But it provides an ISO C++ API and so
can be of interest to you if you are programming in ISO C++ (where OSSP
var's ISO C API might be too boring for you).
</font>
</blockquote>

<h2>Documentation</h2>

<pkg_manpage name="var" sect=3 path="/pkg/lib/var/var.pod">,
<pkg_manpage name="var-config" sect=1 path="/pkg/lib/var/var-config.pod">.

<h2>Authors</h2>

<pkg_author name="Ralf S. Engelschall" mail="rse@engelschall.com">
<pkg_author name="Peter Simons" mail="simons@computer.org">

<h2>Status</h2>

<pkg_status
    name="var" assign="rse"
    stable="1.1.3" stable_date="02-Oct-2005"
    unstable="none" unstable_date="none"
	genesis="08-Mar-2002" 
	done=100>

<h2>Source</h2>

<pkg_files 
    cvs=$(CVS_ROOT_URL)/pkg/lib/var/
    url=$(FTP_ROOT_URL)/pkg/lib/var/
    directory=$(FTP_ROOT_DIR)/pkg/lib/var/
    files="var-*.tar.gz" 
	stable="var-1.1.3.tar.gz" unstable="none">

<h2>Donation</h2>

<pkg_donation name="var" return="$(BASE_URL)/pkg/lib/var/">


CVSTrac 2.0.1