Thank you very much for your hints. I tested your code
for (split(/:/, $$pattern)) {
$_ = 'S0' . $_ unless /^S/;
$_ .= 'S0' unless /S\d+$/;
print STDERR "pattern: $_\n";
my @pieces = split(/[SF](\d+)/, $_);
foreach my $count (0..$#pieces) {
print STDERR "$count -> [$pieces[$count]] ";
}
print STDERR "\n";
}
But I got an odd output. Split gives back some empty items
pattern: S51F11S0
0 -> [] 1 -> [51] 2 -> [] 3 -> [11] 4 -> [] 5 -> [0]
Changing split to match only
/[SF]/ (your update suggestion) and adding a
shift afterwards improves the output,
pattern: S51F11S0
0 -> [51] 1 -> [11] 2 -> [0]
leaving me with the second problem, i.e. that having an odd number of items in my array,
splice(@,0,2) will give back an undefined second element.
Nothing catastrophic, but it is going to increase the number of necessary checks.
Even if it doesn't do what I need, though, this code of yours gives me some ideas that I can further develop.
As for the second hint:
tr/ //d;
$camel .= $_;
yes, it looks much faster (not to mention smarter) than my code.
Ciao
gmax
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
|
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.