[Chicago-talk] Sharing my pain
Andy_Bach at wiwb.uscourts.gov
Andy_Bach at wiwb.uscourts.gov
Fri Oct 13 13:33:05 PDT 2006
> it was clear what was going on.
Okay, not to me but .... -
$sproketAccum =~ s![\n\s\t]!!g;
@tmp = split(/\+;/, $sproketAccum);
foreach (@tmp) {
unless (m!foobar!) { s!^foo!!g }
}
Um, delete all white space, split on '+;' and then, unless the word is
"foobar" remove the prefix 'foo' (w/ the '^' anchor, the 'g' is
unneeded)? Note that's using the $_ alias, so it alters @tmp.
my $sp;
foreach $sp (@tmp) {
$sp =~ s!\\!!g;
$sp =~ s!\n!!g;
if ($sprokets) { $sprokets .= ' ' }
$sprokets .= $sp;
}
okay, remove backslashes, '\n's (again) and append w/ a blank - so now
we've got non-foo, non-whitespace 'sprokets' in a whitespace delim string.
my $tmp = findSprokets();
@sprokets = reverse sort( split(/ /, $tmp) );
Reverse sort the result. Weird data. One guess for
$sp =~ s!\\!!g;
$sp =~ s!\n!!g;
is that some sql results will backslash embedded delims (like a pipe) or
\n in the data, so its harder to just split it up into records and then
fields on naive split/matches using '\n' and the delim char.
Something like:
$sproketAccum =~ s/[\w\\]+//g; # remove whitespace/back slashes
$sproketAccum =~ s/\bfoo(?!bar)//g; # remove non-foobar 'foo'
$sproketAccum =~ s/\+;/ /g; # change separators
maybe?
a
Andy Bach, Sys. Mangler
Internet: andy_bach at wiwb.uscourts.gov
VOICE: (608) 261-5738 FAX 264-5932
"The whole point of reserving these namespaces is not to prevent users
from
misusing them, but to ensure that when we eventually get around to using a
particular block name, and those same users start screaming about it, we
can
mournfully point to the passage in the original spec and silently shake
our
heads. ;-)"
Damian Conway, P6 list
More information about the Chicago-talk
mailing list