version <2 is only a RPN parser
----------------------------
revision :2.80 Fri Sep  6 11:53:29 CEST 2013

RPN.pm
	Prevent crash when variable not defined in PERLVAR 
t/11Perl.t  
        and test for var not defined   
	test returning a hash multikey are most of the time in different order, removing multikey test 
RPN.pl
	Use persistent history ( and add flag and command to set another histoty file )
----------------------------
revision : 2.79 Wed Sep  4 14:09:21 CEST 2013

fix PERLVAR for simple scalar 
add $scal test variable in RPN.pl
----------------------------
revision : 2.78 Mon Sep  2 12:24:01 2013 +0200

update test with TZ set tp EST to allow make test succeed anywhere
----------------------------
revision : 2.77 Sun Sep  1 18:23:05 2013 +0200

Parse::RPN
	MOD >> << : Swap arguments
	REMAIN and REV: remove processed argument
	PI : better value for COS
	MINX MAXX SLSLICE N!= UNSET FORGOT UNLINK CHOMP : new words
	MIN MAX SUM STATS : in section arithmetic
	>< >=< UNPACK !!!CA ; : typo on pod
	TRUE and FALSE : check if argument numeric and prevent warning
	All SLxxx and OIDSEARCHxxx words : correct code to allow structurated string without leading #
	EQ : correct return value for DICT
	Better test ( by type of operator )
	FIND FINDK fix initial index ( no more warning )
	VARIABLE only set variable if variable name defined
	; ( word creation ) create private dict and prevent overwriting of native dict
	fix warning if IF (variable not numeric if uninitialized)
	LOOP add _T_ variable
	+LOOP fix error in code + simplification for _T_
        PERL push STDOUT on stack
	TELL fix for unbuffered IO
	WRITELINE in correct order
	remove spurious warning in HGTIME
	fix SLGREP and SLGREPI ending space in SL result
RPN.pl
	add argument -I to put a full path to RPM.pm. 
	In shell mode auto reload of RPN.pm.
	Add command \c r to force a reload of RPN.pm ( reset all provate dict and vars )
----------------------------
revision : 2.76
Date:   Thu Jul 18 11:27:05 2013 +0200

Add SLITEM
----------------------------
revision : 2. 75
Date:   Wed May 22 18:53:55 2013 +0200

funct rpn_separator_out and rpn_separator_in return current value
----------------------------
revision : 2.74
Date:   Tue May 14 11:22:08 2013 +0200

use recursion to create SL list from PERLVAR
Allow PERLVAR to be inside LOOP or IF
----------------------------
revision : 2.73
Date:   Fri May 10 17:49:54 2013 +0200

Replace PERLUNARY by PERLFUNC1
Add PERLFUNCX
Add PERLVAR
----------------------------
revision : 2.72
Date:   Tue May 7 09:09:08 2013 +0200

Add PERLUNARY
Clean PERLFUNC
----------------------------
revision : 2.71
Date:   Mon May 6 11:18:06 2013 +0200

Replace rpn_separator by rpn_sseparator_out
Add rpn_separator_in
----------------------------
revision : 2.70
Date:   Fri May 3 12:09:43 2013 +0200

Add SLGREP, SLGREPI , SLSEARCHALL and SLSEARCHALLI
----------------------------
revision : 2.69
Date:   Mon Apr 15 14:00:00 2013 +0200

Add SLSEARCHALLKEYS and SLSEARCHALLKEYSI
Some typo in doc
----------------------------
revision : 2.68
Date:   Tue Apr 9 12:47:45 2013 +0200

add NXOR
----------------------------
revision : 2.67
Date:   Sun Mar 17 17:37:09 2013 +0100

add >< and >=< operator
----------------------------
revision : 2.66
Date:   Mon Feb 6 13:37:00 2012 +0100

add case insensitive OIDSEARCHALLVALI and OIDSEARCHLEAFI ( the latest one is not very useful )
----------------------------
revision : 2.65
Date:   Thu Jan 19 13:46:21 2012 +0100

add relational operator staring with N to test th efirst element as numeric
----------------------------
revision : 2.64
Date:   Mon Nov 28 14:39:56 2011 +0100

add OIDSEARCHALLVAL and OIDSEARCHALLVAL
----------------------------
revision : 2.63
Date: Thu Apr 14 12:08:06 2011 +0200

add KEEPV and KEEPVV
----------------------------
revision : 2.62
Date:   Thu Jan 27 19:04:22 2011 +0100

typo error
----------------------------
revision : 2.61
Date:   Thu Jan 27 18:25:09 2011 +0100

fix IF THEN ELSE ( specifically ELSE )
----------------------------
revision : 2.60
Date:   Wed Jan 26 16:14:04 2011 +0100

fix OPEN ( mode )
WRITELINE and WRITE (remove value from the stack)
----------------------------
revision : 2.59
Date:   Wed Dec 1 13:26:49 2010 +0100

add POPV, SHIFTV and IND
----------------------------
revision : 2.58
Date:   Wed Dec 1 11:34:50 2010 +0100

add SEARCHA and SEARCHI
----------------------------
revision : 2.57
Date:   Thu Oct 21 15:32:18 2010 +0200

add SPLIT2
correct LOOKUP and LOOKUPOP ( switch parameter order )
----------------------------
revision : 2.56
Date:   Tue Oct 19 15:01:54 2010 +0200

add SIZE
correct variable append code
----------------------------
revision : 2.55
Date:   Mon Oct 11 14:10:46 2010 +0200

add HTTP::Date in Makefile.pl
----------------------------
revision : 2.54
Date:   Fri Oct 1 15:33:53 2010 +0200

add FILE IO
correct ROLL with negative value ( remove undef extra value )
typo in doc
----------------------------
revision : 2.53
Date:   Thu Sep 30 13:47:01 2010 +0200
add all append to variable primitives ( !A, !!A, !!!A, !!CA, !!!CA )
----------------------------
revision : 2.52
Date:   Thu Apr 29 18:15:46 2010 +0200
add KEEPR and KEEPRN
fix the offset of PUT
change ROLL to allow reverse ROLL when value is negative
fix ROLL when value are = 0
----------------------------
revision : 2.51
date : 2010/04/27 08:37:09
UNORM and UNORM2 allow entry in the form 249.12 G
some digit, zero or one dot followed by some digit, some space , and a letter as suffix) 
----------------------------
revision : 2.50
date : 2010/04/26 14:57:46
add UNORM and UNORM2
----------------------------
revision : 2.49
date : 2010/04/23 14:08:13
if the only data on the stack is 0, return 0 and not an empty value
----------------------------
revision : 2.48
date : 2010/04/09 14:24:19
add HTTPTIME
correct TICK function ( don't remove first elem of the stack )
----------------------------
revision : 2.47
date : 2009/04/30 18:24:12 
add SUM and STATS 
----------------------------
revision : 2.46
date : 2009/04/08 11:32:54 
bug fix : reverse order for >, >= and < <=
----------------------------
revision : 2.45
date : 2009/03/16 10:37:23
typo error in STR2DDEC
----------------------------
revision : 2.44
date : 2009/03/13 18:14:17 
add OCTSTR2HEX, OCTSTR2HEX, DDEC2STR and STR2DDEC
----------------------------
revision : 2.43
date : 2008/11/07 08:53:12
add LOOKUPP and LOOKUPOPP 
IF THEN and OF THEN ELSE become reentrant
----------------------------
revision : 2.42
date : 2008/8/18 13:22:38
add LOOKUP and LOOKUPOP 
fix !! and !!C parameter
----------------------------
revision : 2.41
date : 2008/4/15 15:41:38
add SEARCHK and SEARCHKI
----------------------------
revision : 2.39
date : 2008/4/4 11:44:23
correct !!! operators
----------------------------
revision : 2.38
date : 2007/9/25 16:12:30
add ISNUM ISNUMD ISINT ISINTD ISHEX ISHEXD
----------------------------
revision : 2.37
date : 2007/8/8 16:01:37
correct IF ELSE THEN to follow the IF THEN code
----------------------------
revision : 2.36
date : 2007/8/8 11:01:53
remove extra value on the return stack in IF THEN
----------------------------
revision : 2.35
date : 2007/8/8 10:48:11
correct the IF THEN
----------------------------
revision : 2.34
date : 2007/6/7 9:29:40
correct the return from dict (retrun always 3 values)
----------------------------
revision : 2.33
date : 2006/8/23 11:29:40
add CATALL
----------------------------
revision : 2.32
date : 2006/3/16 16:2:41
add KEEPN, COPY, !!, !!C, !!!, !!!C
change in PRESERVE INC, DEC, @
----------------------------
revision : 2.31
date : 2006/3/16 12:11:22
correct +LOOP code
----------------------------
revision : 2.30
date : 2006/3/16 9:41:0
don't execute code in definition when creating new WORD
correct code for WHILE
----------------------------
revision : 2.29
date : 2006/3/13 15:27:25
add PRESERVE
correct DEL and PRESERVE when length to delete is greater then stack
----------------------------
revision : 2.28
date : 2006/3/13 14:33:55
now xxx,0,KEEP clear the stack
----------------------------
revision : 2.27
date : 2006/3/13 14:24:9
add SEARCH and SEARCHI
----------------------------
revision : 2.26
date : 2006/1/16 15:16:56
the previous PERL for call of a perl function become PERLFUNC
PERL become the inline perl code use
----------------------------
revision : 2.25
date : 2006/1/12 13:0:30
add OCT operator
correct SPATx operators to allow replacement by capturing parentheses
----------------------------
revision : 2.24
date : 2006/1/6 10:33:2
add a function to modify the separator of the result
----------------------------
revision : 2.23
date : 2006/1/6 9:6:31
add the KEEP function
----------------------------
revision 2.19
date: 2005-10-05 13:53:57 +0000;
create name space for PERL function
----------------------------
revision 2.18
date: 2005-10-03 06:58:08 +0000; 
possibility to call PERL function
----------------------------
revision 2.17
date: 2005-07-20 06:56:17 +0000;
correct the SUB creation (don't execute stack when store function)
----------------------------
revision 2.16
date: 2005-06-29 09:15:33 +0000;
return '' in case of LN(0)
----------------------------
revision 2.15
date: 2005-06-29 09:06:40 +0000;
retrun '' in case of division by null
----------------------------
revision 2.14
date: 2005-04-21 10:51:45 +0000;
in IF remove the value on top of the stack before executing the IF code
----------------------------
revision 2.13
date: 2005-04-21 08:14:49 +0000;
add logical operators
----------------------------
revision 2.12
date: 2005-04-20 13:36:41 +0000;
correct all the loop algo
----------------------------
revision 2.11
date: 2005-04-19 14:31:39 +0000;
error in TIF (no stack )
----------------------------
revision 2.10
date: 2005-04-17 14:27:03 +0000;
remove the leading empty string when SPLIT and SPLITI matche the beginning of the string
----------------------------
revision 2.9
date: 2005-04-17 13:44:59 +0000;
correct code for IF (use top of stack and not end)
----------------------------
revision 2.8
date: 2004-11-28 17:44:03 +0000;
replace \1 by $1 to prevent warning in substitution
----------------------------
revision 2.7
date: 2004-10-12 10:11:27 +0000;
clean up code
----------------------------
revision 2.6
date: 2004-10-12 10:09:00 +0000;
clean up code
----------------------------
revision 2.5
date: 2004-10-01 06:58:49 +0000;
add SPLIT, SPLITI, PATI, TPATI
----------------------------
revision 2.4
date: 2004-09-30 15:38:51 +0000;
correct PAT return and LCFIRST return
----------------------------
revision 2.3
date: 2004-08-29 17:43:08 +0000;
test if string in VAR or DICT
----------------------------
revision 2.02
date: 2004-08-29 16:48:17 +0000;
better use of STRING (when space before and after)
----------------------------
revision 2.01
date: 2004-08-29 11:56:06 +0000;
transfert NRPM to RPM
----------------------------
revision 2.00
date: 2004-08-29 10:02:59 +0000;
transfert NRPM to RPM
----------------------------
revision 1.24
date: 2004-08-06 10:40:56 +0000;
add DEL
----------------------------
revision 1.23
date: 2004-08-06 10:19:19 +0000;
correct license text
----------------------------
revision 1.22
date: 2004-08-06 08:41:47 +0000;
POPN, PI added
----------------------------
revision 1.21
date: 2004-08-06 07:30:56 +0000;
use the same loop in PRINTF to allow any number of field in format
----------------------------
revision 1.20
date: 2004-08-06 07:12:31 +0000;
correct REGEX in PACK to allow only 1 letter as format
----------------------------
revision 1.19
date: 2004-08-05 19:03:37 +0000;
correct PACK command to allow any number of param
----------------------------
revision 1.18
date: 2004-08-05 15:59:12 +0000;
use PACK and check number of variable in format
----------------------------
revision 1.17
date: 2004-08-05 14:25:59 +0000;
add PRINTF to convert value to
----------------------------
revision 1.16
date: 2004-08-05 13:18:23 +0000;
add synomin of +- to NEG
----------------------------
revision 1.15
date: 2004-08-05 13:11:23 +0000;
add +- function to negate a numerical value
----------------------------
revision 1.14
date: 2004-04-27 15:02:11 +0000;
swap RROT and ROT
----------------------------
revision 1.13
date: 2004-04-27 14:52:55 +0000;
add function RROT, SWAP2, REVERSE, ROT3
----------------------------
revision 1.12
date: 2003-10-20 10:05:14 +0000;
correct typo error in POD for TPAT
----------------------------
revision 1.11
date: 2003-10-20 09:56:25 +0000;
add TPAT
----------------------------
revision 1.10
date: 2003-10-20 09:49:55 +0000;
TPAT return 0 if not pattern found
----------------------------
revision 1.9
date: 2003-10-20 09:42:27 +0000;
add TPAT (test pattern)
----------------------------
revision 1.8
date: 2003-10-20 09:16:12 +0000;
add SWAT alias EXCH to keep compatibility with Math::RPN
----------------------------
revision 1.7
date: 2003-10-20 08:20:10 +0000;
correct VERSION number for MakeMaker again
----------------------------
revision 1.6
date: 2003-10-20 08:15:32 +0000;
correct VERSION number for MakeMaker
----------------------------
revision 1.5
date: 2003-10-19 20:03:20 +0000;
correct typo in POD
----------------------------
revision 1.4
date: 2003-10-19 19:59:53 +0000;
correct typo in POD
----------------------------
revision 1.3
date: 2003-10-19 19:59:23 +0000;
correct typo in POD
----------------------------
revision 1.2
date: 2003-10-19 19:57:41 +0000;
Clean code and add POD doc
----------------------------
revision 1.1
date: 2003-10-19 19:50:20 +0000;
branches:  1.1.1;
Initial revision
----------------------------
revision 1.1.1.2
date: 2004-08-29 11:54:26 +0000;
no message
----------------------------
revision 1.1.1.1
date: 2003-10-19 19:50:20 +0000;
RPN parser with STRING functions
=============================================================================