"Mumia W." schreef:
> Dr.Ruud:
>> Mumia W.:

>>> my @bar2 = grep length, split (/([a-z]{5})/, $foo);
>>>
>>> Any substrings with a length of zero will be removed by "grep
>>> length."
>>
>> Huh? Why not just remove the capturing "()"?
>
> Without the capturing parentheses, split will remove every
> sequence of five alphabetic characters from the output. Only
> 'pq' will remain:
>
> use Data::Dumper;
> my $foo = 'abcdefghijklmnopq';
> my @foo = split /[a-z]{5}/, $foo;
> print Dumper([EMAIL PROTECTED]);
>
> __END__
>
> That program prints this:
>
> $VAR1 = [
>            '',
>            '',
>            '',
>            'pq'
>          ];

Aaargh, I was suddenly mixing up split /()/ and /()/g. I really
shouldn't post anymore without testing.

#!/usr/bin/perl
  use warnings ;
  use strict ;

  use Data::Dumper ;
  my $foo = 'abcdefghijklmnopq' ;
  my @foo = ($foo =~ /([a-z]{1,5})/g) ;
  print Dumper([EMAIL PROTECTED]);

__END__

$VAR1 = [
          'abcde',
          'fghij',
          'klmno',
          'pq'
        ];

-- 
Affijn, Ruud

"Gewoon is een tijger."



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


Reply via email to