[EMAIL PROTECTED] wrote:

> Hi!  Maybe this is really easy, but hey, I'm a beginner with Perl.
>
> I'm trying to count the number of times a string is contained inside
> another string.  Here's a sample of my data, a set of colon-delimited
> values from the Perl Soundex function, with a few pure numbers or letters
> mixed in.
>
> A sample candidate string:    :B000:W000:M260:8:
> For each colon-delimited substring, such as :M260:, I want a count of how
> many times it's found in each target string.

It sounds like you need a count hash.  You might try something like:

  my @tokens = split /:/;
  foreach (@tokens) {
    if ($tokenCount{$_}) {
      $tokenCount{$_}++;
    } else {
      $tokenCount{$_} = 1;
    }
  }


My test run using this approach got the listing below per line of your data:

Joseph

Line #1:
L520:T400:C000:S000:L200:8
Analysis:
8 appeared 1 time.
C000 appeared 1 time.
L200 appeared 1 time.
L520 appeared 1 time.
S000 appeared 1 time.
T400 appeared 1 time.

Line #2:
L520:T400:C000:S000:L200:8
Analysis:
8 appeared 1 time.
C000 appeared 1 time.
L200 appeared 1 time.
L520 appeared 1 time.
S000 appeared 1 time.
T400 appeared 1 time.

Line #3:
L520:T400:C000:S000:L200:24:E214
Analysis:
24 appeared 1 time.
C000 appeared 1 time.
E214 appeared 1 time.
L200 appeared 1 time.
L520 appeared 1 time.
S000 appeared 1 time.
T400 appeared 1 time.

Line #4:
L520:T400:C000:S000:M:24:E214
Analysis:
24 appeared 1 time.
C000 appeared 1 time.
E214 appeared 1 time.
L520 appeared 1 time.
M appeared 1 time.
S000 appeared 1 time.
T400 appeared 1 time.

Line #5:
L520:T400:C000:S000:L200:14:E214
Analysis:
14 appeared 1 time.
C000 appeared 1 time.
E214 appeared 1 time.
L200 appeared 1 time.
L520 appeared 1 time.
S000 appeared 1 time.
T400 appeared 1 time.

Line #6:
L520:T400:C000:S000:L200:14:E214
Analysis:
14 appeared 1 time.
C000 appeared 1 time.
E214 appeared 1 time.
L200 appeared 1 time.
L520 appeared 1 time.
S000 appeared 1 time.
T400 appeared 1 time.

Line #7:
L520:M260:C000:S000:L200:14:E214
Analysis:
14 appeared 1 time.
C000 appeared 1 time.
E214 appeared 1 time.
L200 appeared 1 time.
L520 appeared 1 time.
M260 appeared 1 time.
S000 appeared 1 time.

Line #8:
L520:T400:M260:S000:M260:14:E214
Analysis:
14 appeared 1 time.
E214 appeared 1 time.
L520 appeared 1 time.
M260 appeared 2 times.
S000 appeared 1 time.
T400 appeared 1 time.

Line #9:
L520:T400:C000:S000:L200:14:E214
Analysis:
14 appeared 1 time.
C000 appeared 1 time.
E214 appeared 1 time.
L200 appeared 1 time.
L520 appeared 1 time.
S000 appeared 1 time.
T400 appeared 1 time.



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to