anthony brooke wrote:
> Hello, my logic is really bad, here is I want to do. 
> 
> my @list = qw(a b a a d e e );
> 
> I want to compact the array by concatenating the adjacent vowels and 
> consonant together, like for the above it should become,
> 
> my @list2 = qw(ab aa d ee);
> 
> How do I get the @list2 ? Thanks.

The program below appears to do what you need.

HTH,

Rob


use strict;
use warnings;

my @list = qw(a b a a d e e );

my @list2 = syllables(@list);

print "(@list2)\n";


sub syllables {

  return @_ unless @_ > 1;

  my @return;

  foreach (@_) {
    if ($return[-1] =~ /[^aeiou]$/) {
      push @return, $_;
    }
    else {
      $return[-1].= $_;
    }
  }

  @return;
}

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to