[Cascavel-pm] Split

Igor Sutton Lopes igor.sutton em gmail.com
Quarta Junho 21 19:40:10 PDT 2006


Paulo - Mestral <admin em mestral.com.br> writes:

> O quantificador + faz esse difícil ser fácil use \s+ que quer dizer um
> espaço ou mais. Se os espaços duplos forem entre os campos que vc vai
> usar faça o split assim: @F = split(/\s+/,$line);

Outra alternativa é utilizar o split com " ", ie:

@F = split " ", $line;

Segundo perlfunc:

               As a special case, specifying a PATTERN of space (' ')
               will split on white space just as "split" with no
               arguments does.  Thus, "split(' ')" can be used to
               emulate awk's default behav- ior, whereas "split(/ /)"
               will give you as many null initial fields as there are
               leading spaces.  A "split" on "/\s+/" is like a
               "split(' ')" except that any leading whitespace
               produces a null first field.  A "split" with no
               arguments really does a "split(' ', $_)" internally.

Observe:

<code>
use Data::Dumper;
my $str = " a b c d e";
print Dumper [split /\s+/, $str];
print Dumper [split " ", $str];
</code>

Igor.


Mais detalhes sobre a lista de discussão Cascavel-pm