head 1.13; access; symbols; locks; strict; comment @# @; 1.13 date 2005.10.02.20.50.07; author rse; state Exp; branches; next 1.12; 1.12 date 2004.10.31.12.05.03; author rse; state Exp; branches; next 1.11; 1.11 date 2004.09.13.07.59.30; author rse; state Exp; branches; next 1.10; 1.10 date 2004.09.12.18.18.48; author rse; state Exp; branches; next 1.9; 1.9 date 2004.04.04.10.29.23; author rse; state Exp; branches; next 1.8; 1.8 date 2003.02.14.21.23.10; author rse; state Exp; branches; next 1.7; 1.7 date 2002.10.02.12.44.44; author rse; state Exp; branches; next 1.6; 1.6 date 2002.08.11.13.49.15; author rse; state Exp; branches; next 1.5; 1.5 date 2002.07.13.20.09.33; author rse; state Exp; branches; next 1.4; 1.4 date 2002.04.16.19.31.52; author rse; state Exp; branches; next 1.3; 1.3 date 2002.03.08.17.06.36; author rse; state Exp; branches; next 1.2; 1.2 date 2002.02.15.13.52.12; author rse; state Exp; branches; next 1.1; 1.1 date 2002.02.15.11.56.50; author rse; state Exp; branches; next ; desc @@ 1.13 log @release OSSP var 1.1.3 @ text @ #use wml::ossp area=pkg:lib subarea=var OSSP var

Variable Expansion

Abstract

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 @@name, ${name}, $(name), etc.) and provides both simple scalar (${name}) and array (${name[index]}) expansion, plus optionally one or more post-operations on the expanded value (${name:op:op...}).

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 (..[..${name[#+1]}..]..). The actual variable value lookup is performed through a callback function, so OSSP var can expand arbitrary values.

Hint: There is also an ISO C++ derivative of the OSSP var library, named libvarexp. 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).

Documentation

, .

Authors

Status

Source

Donation

@ 1.12 log @release OSSP var 1.1.2 @ text @d54 1 a54 1 stable="1.1.2" stable_date="31-Oct-2004" d66 1 a66 1 stable="var-1.1.2.tar.gz" unstable="none"> @ 1.11 log @fix file list @ text @d54 1 a54 1 stable="1.1.1" stable_date="12-Sep-2004" d56 1 d66 1 a66 1 stable="var-1.1.1.tar.gz" unstable="none"> @ 1.10 log @release OSSP var 1.1.1 @ text @d65 1 a65 1 stable="var-1.1.0.tar.gz" unstable="none"> @ 1.9 log @release OSSP var 1.1.0 @ text @d54 1 a54 1 stable="1.1.0" stable_date="04-Apr-2004" @ 1.8 log @release OSSP var 1.0.0 @ text @d54 1 a54 1 stable="1.0.0" stable_date="14-Feb-2003" d65 1 a65 1 stable="var-1.0.0.tar.gz" unstable="none"> @ 1.7 log @use bug reporting and manpage rendering @ text @d54 2 a55 2 stable="none" stable_date="none" unstable="0.9.0" unstable_date="08-Mar-2002" d65 1 a65 1 stable="none" unstable="var-0.9.0.tar.gz"> @ 1.6 log @flush the work of this afternoon: PayPal support, cleanups, etc @ text @d40 5 d53 1 @ 1.5 log @add CVS references @ text @d61 4 @ 1.4 log @add hint to Peter Simons' libvarexp @ text @d55 1 @ 1.3 log @update for OSSP var 0.9.0 @ text @d28 12 d59 1 a59 1 @ 1.2 log @more content @ text @d10 17 a26 10 OSSP var is a very sophisticated and fast variable construct expansion library. It supports the usual scripting language style variable syntax (${name}, $(name), %{name}, etc.) and provides both simple scalar and array expansion and post-operations on the expanded value. The supported post-operations are length determination, case conversion, defaults, postive and negative alternatives, sub-strings, regular expression based substitutions, character translations, padding and even nested iterations over array variables. The actual value lookup is performed through as callback function, so OSSP var can expand arbitrary values. d30 1 d37 1 a37 1 unstable="none" unstable_date="none" d46 1 a46 1 stable="none" unstable="none"> @ 1.1 log @first cut for all library pages @ text @d6 1 a6 1

...

d10 11 d23 1 a23 1 @