A field-separator is inserted into input data by an adapter’s front end. When using input files, a field-separator is defined to replace a character of input such as a comma, colon, or a vertical bar (|). A field-separator represents a division of data that can include multiple words, integers, strings, and even end-of-line (eol). You can use fs to pattern match a field-separator, as described in “Field-separator translation” on page 131.


Do not confuse a field-separator with a delimiter. Even though a delimiter can be used to separate multiple words, it is best used as a word separator. A field-separator separates fields that can contain one or more words. Regardless of the value of the delimiting characters, a field-separator is implicitly defined as a delimiter.

For example, the following script matches a name and an address, which are separated by a field-separator. In the input, the field-separator is a colon (:). The name is assigned from one or more repeated words that come before the field-separator. The address is assigned from the repeated words that follow the field-separator.

The field-separator is defined when the adapter is run with the following option:


The input is parsed by the front end and the field-separator is placed into the data.

ASL Script (fs_match.asl):
 a:rep(word) fs
 b:rep(word) eol
do {
 print("Name ".a);
 print("Address ".b);
do {
 print("Failed match");
Input (fs_match.txt):
Jay Ray:11 Main St
Jane Doe:34 Oak Dr
$ sm_adapter --field-separator=: --file=fs_match.txt fs_match.asl
Name Jay Ray
Address 11 Main St
Name Jane Doe
Address 34 Oak Dr