Since v1.2.14
Available on all platforms
See also

The PUT function inserts a new key-value pair in a map. If the key already exists in the input MAP, the value is replaced by the new one.

PUT function puts the reference of the MAP on top of the stack.



{ 'foo' 42 'bar' true } 'newValue' 'newKey' PUT 3.1415 'bar' PUT
{ 'audi' 150 'volvo' 120 'dacia' 310 } 'brandcount' STORE //vehicle count per brand [ 'dacia' 'audi' 'dacia' 'dacia' 'porsche' 'volvo' 'tesla' ] //new inputs <% //enter the foreach loop, next list value is put on the top of the stack 'brand' STORE //store the brand $brandcount $brand GET //search for existing key. see also CONTAINSKEY DUP ISNULL //this test will consume the top of the stack. hence the DUP before. <% DROP $brandcount 1 $brand PUT %> //key do not exist, create it with value=1 <% $brandcount SWAP 1 + $brand PUT %> //key exists, increment the brand count IFTE DROP // PUT returns the updated list on the stack. try to comment this line... // ... you can see that the stack references to the brandcount map. %> FOREACH $brandcount //display the updated brand list