TIP 358: Suppress Empty List Element Generation from the Split Command

Login
Bounty program for improvements to Tcl and certain Tcl packages.
Author:		George Petasis <petasis@iit.demokritos.gr>
State:		Draft
Type:		Project
Tcl-Version:	8.7
Vote:		Pending
Created:	04-Oct-2009
Post-History:	
Keywords:	Tcl, list extraction, parsing

Abstract

The split command will create empty list elements when adjacent split characters are found in the input. In some cases these empty list elements are not desired, so this TIP proposes a new switch to disable their generation.

Rationale

The idea for this TIP came from a discussion in comp.lang.tcl: http://groups.google.gr/group/comp.lang.tcl/browse_thread/thread/8d46b0f10e7a5750/d7844cc739aa4310 and the (non obvious) suggestions on how tokens can be extracted from a string can be performed efficiently.

It should be noted that this will allow the split command to be used in a fashion that is very similar to how splitting works in many other languages (e.g., Perl, awk, Unix shells).

Specification

This TIP proposes a new optional switch (-noemptyelements) to the split command:

split -noemptyelements string ?splitChars?

If this option is present, then split will not produce an empty list element when the string contains adjacent characters that are present in splitChars.

Reference Implementation

Currently there is no patch, but it should be quite easy to implement this.

Copyright

This document has been placed in the public domain.

History