NAME
DynaPage::Sourcer - DynPage text sources parser
#------------------------------------------------------
# (C) Daniel Peder & Infoset s.r.o., all rights reserved
# http://www.infoset.com, Daniel.Peder@infoset.com
#------------------------------------------------------
$Revision: 1.4 $
$Date: 2005/01/13 21:30:49 $
METHODS
- new ( [ @data ] ) : blessed-hashref
-
For @data see Parse method.
- Parse ( data ) : true
-
Parse source data. data could be either scalar string, scalar ref, hash-ref, array-ref or array. In case of hash-ref, array-ref or array each value is recursively crawled to find and parse parseable data.
- parse_ref ( $source_stringref ) : true
-
The main source data parser.
There are two main format types of text sources:
- single line value-name =- shrink line-inner tabs/spaces, drop line-outer whitespaces value-name =~ line whitespaces are preserved - multi line # UnIndent value-name == shrink block-inner tabs/spaces drop block-outer newlines/linefeeds drop line-aouter spaces/tabs == value-name # SingleLiner value-name ==- shrink block-inner whitespaces drop block-outer whitespaces -== value-name # Preserver value-name ==~ drop block up-to/behind first newline[?linefeed] preserve all whitespaces ~== value-name
- Set ( $name, $content, $indexref ) : true
-
Set the named content.
- Add ( $name, $content ) : numeric
-
Add the named content. Multiple occurences of same name are pushed.
Returns number of values.
- Get ( [$name, [$indexref], [$joinstring]] ) : string|array|hashref
-
Get named content.
Without arguments returns $self->Content().
$indexref must be either numeric or arrayref, if specified.
numeric gets single value at specified array index.
arrayref gets joined values at specified array indexes.
Negative $indexref works same way as with perl arrays, eg index from the end of array.
Unless $indexref is specified, all joined values for the $name are returned.
For separating joined values, the $joinstring, $self->{'~JOINSTRING'} or '' will be used is this order.
- Content ( ) : hashref
-
Get the whole content hashref.
- Names ( ) : array | arrayref
-
Get list of content names.
- NewNames ( ) : array | arrayref
-
Get list of names added during last parsing - see also UpdateStats().
- NewValues ( [ $name ] ) : array | number
-
Get list of names with new values added during last parsing. Specifying $name will return number of new values added - see also UpdateStats().
- ClearStats ( data ) : true
-
Clear parsing statistics by deleting ~NEW_KEY and ~NEW_VAL - see also UpdateStats().
- UpdateStats ( $name ) : true
-
Update parsing statistics for given $name :
~NEW_KEY is assigned to 1 if it is first time of Set($name). ~NEW_VAL is allways incremented by 1
$self->{'~NEW_KEY'} and $self->{'~NEW_VAL'} are intended for internal use only.