
old_explode()
*************


FUNKTION
========

   string *old_explode(string str, string del)


ARGUMENTE
=========

   str - Der String, der aufgespaltet werden soll.
   del - Der String, nach dem str aufgespalten werden soll.


BESCHREIBUNG
============

   Durch Ausschneiden von del wird der String str in ein Array von Strings
   zerlegt. Dieses Array wird anschliessend zuruckgegeben.


RUECKGABEWERT
=============

   Das Array mit den Bestandteilen der Zerlegung.


BEMERKUNGEN
===========

   Das Verhalten von old_explode() entspricht dem dem explode()-Verhalten,
   das in /doc/efun/explode als "altes" Verhalten bezeichnet wird, d.h.
   Leerstrings an Anfang und Ende des zerlegten Strings werden entfernt!


BEISPIELE
=========

   strs = explode( "nimm alles", " "); => strs = ({ "nimm", "alles" })
   strs = explode( "abc", "abc" );     => strs = ({ })
   strs = explode( "ein test", "" );   => strs = ({ "ein test" })
   strs = explode( "a b", "a");        => strs = ({ " b" });


SIEHE AUCH
==========

   explode(E), new_explode(E), efun::explode(E), sscanf(E)
   implode(E), regexplode(E)
