Table of Contents
                             
                        
                        parsestringarrayidx
                                Table of Contents
                            
                            Prototype: parsestringarrayidx(array, input, comment, split, maxentries, maxbytes)
Return type: int
Description: Populates the two-dimensional array array with up to
maxentries fields from the first maxbytes bytes of the string input.
This function mirrors the exact behavior of readstringarrayidx(), but
reads data from a variable instead of a file. By making data readable from a variable, data driven policies can be kept inline.
The comment field is a multiline regular expression and will strip out
unwanted patterns from the file being read, leaving unstripped characters to be
split into fields. Using the empty string ("") indicates no comments.
Arguments:
- array:- string, in the range:- [a-zA-Z0-9_$(){}\[\].:]+
- input:- string, in the range:- .*
- comment:- string, in the range:- .*
- split:- string, in the range:- .*
- maxentries:- int, in the range:- 0,99999999999
- maxbytes:- int, in the range:- 0,99999999999
Example:
body common control
{
      bundlesequence => { "test" };
}
bundle agent test(f)
{
  vars:
      # Define data inline for convenience
      "table"   string => "one: a
                           two: b
                         three: c";
      #######################################
      "dim" int => parsestringarrayidx(
                    "items",
                    "$(table)",
                    "\s*#[^\n]*",
                    ":",
                    "1000",
                    "200000"
      );
      "keys" slist => getindices("items");
      "sorted_keys" slist => sort(keys, "int");
  reports:
      "item $(sorted_keys) has column 0 = $(items[$(sorted_keys)][0]) and column 1 = $(items[$(sorted_keys)][1])";
}
Output:
R: item 0 has column 0 = one and column 1 =  a
R: item 1 has column 0 =                            two and column 1 =  b
R: item 2 has column 0 =                          three and column 1 =  c
History: Was introduced in version 3.1.5, Nova 2.1.0 (2011)
