s = '0000-0001-0002-0003-0004-0005-0006-0007-0008-0009-' # 50
Str = "$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s" # 1000
Reps = 25
# Non-INCLUDERC-ing string-splitter.
# Very fast. Uses little memory.
#
# It works as-is up to 255, which is easily enhanced
# to 511, 1023, 2047, etc. (see out-commented code).
d0 = '.' d1 = '..' d2 = '....' d3 = '$d2$d2' # 15
d4 = '$d3$d3' d5 = '$d4$d4' d6 = '$d5$d5' d7 = '$d6$d6' # 255
# d8 = '$d7$d7' d9 = '$d8$d8' dA = '$d9$d9' dB = '$dA$dA' # 4095
# dC = '$dB$dB' dD = '$dC$dC' dE = '$dD$dD' dF = '$dE$dE' # 65535
# dG = '$dF$dF' etc.
s # unset
:0
* 1^0
*$ $Reps^0
{ } sc = "$="
# :0 # 511
# *$ $sc^0
# * -256^0
# { sc = "$=" s = "$s\$d8" }
:0 #255
*$ $sc^0
* -128^0
{ sc = "$=" s = "$s\$d7" }
:0 # 127
*$ $sc^0
* -64^0
{ sc = "$=" s = "$s\$d6" }
:0 # 63
*$ $sc^0
* -32^0
{ sc = "$=" s = "$s\$d5" }
:0 # 31
*$ $sc^0
* -16^0
{ sc = "$=" s = "$s\$d4" }
:0 # 15
*$ $sc^0
* -8^0
{ sc = "$=" s = "$s\$d3" }
:0 # 7
*$ $sc^0
* -4^0
{ sc = "$=" s = "$s\$d2" }
:0 # 3
*$ $sc^0
* -2^0
{ sc = "$=" s = "$s\$d1" }
:0 # 1
*$ $sc^0
* -1^0
{ sc = "$=" s = "$s\$d0" }
:0
*$ $ $ $ $ $ $ Str ?? ^^\/$s
{ Str_Left = "$MATCH" }
# :0
# *$ $ $ $ $ $ $ Str ?? ^^$s\/.*
# { Str_Right = "$MATCH" }
--
Grtz, Ruud
____________________________________________________________
procmail mailing list Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail