Hi Xi,

You're looking only for 'p' letters, not D and O? Why?

Anyway, generic solution will be something like...

my %seen;
my @repeated = grep { /some regex here/ && $seen{$_} > N }  @source_array;

... where N is how many times the symbols should appear in the source array
to be counted as duplicate.
and 'some regex' is, well, some regex to filter the symbols if needed. :)

-- iD

2011/12/30 Xi Chen <cxde...@gmail.com>

> Yes, I agree the code looks strange. Do you have any idea to do this
> with a clear code? I mean to find two same letters, "p" in @a?
>
> Xi
>
> On Thu, Dec 29, 2011 at 10:17 PM, John W. Krahn <jwkr...@shaw.ca> wrote:
> > Xi Chen wrote:
> >>
> >> Hello everyone,
> >>
> >> I saw a code below to get two same letters "p" in @a.
> >>
> >> @a = qw (D D p O H p A O);
> >> foreach $b (@a){
> >> $n =~ /$b/i;
> >> if($n>= 2){
> >>      $m = $b;
> >>     }
> >> }
> >>
> >> But I don't know what does ">=" mean. Thank you!
> >
> >
> > It means "greater than or equal to".  The expression "$n >= 2" is true if
> > the value in $n is equal to 2 or is any value greater than 2, 6 for
> example.
> >  If the value in $n is less than 2 then the expression is false.
> >
> > Your algorithm looks weird though because you are testing $n for the
> > presence of alphabetic characters (and then not using that information)
> and
> > then using $n in a numerical context.
> >
> >
> >
> > John
> > --
> > Any intelligent fool can make things bigger and
> > more complex... It takes a touch of genius -
> > and a lot of courage to move in the opposite
> > direction.                   -- Albert Einstein
> >
> > --
> > To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> > For additional commands, e-mail: beginners-h...@perl.org
> > http://learn.perl.org/
> >
> >
>
> --
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
>
>
>

Reply via email to