for (split(/:/, $$pattern)) {
# make sure it starts and ends with spaces
$_ = 'S0' . $_ unless /^S/;
$_ .= 'S0' unless /S\d+$/;
my @pieces = split(/[SF](\d+)/, $_);
while (my ($spaces, $fills) = splice(@pieces, 0, 2)) {
$out .= " " x $spaces .
substr($camel, $camelcount, $fills);
}
$out .= "\n";
}
####
while (/(.)/g) {
$camel .= $1 if $1 ne " ";
}
##
##
tr/ //d;
$camel .= $_;