in reply to Re: Re: rearranging text
in thread rearranging text

\s means match a single space, \s+ means match one or more spaces.

In the example below:
use strict; use Data::Dumper; my $string = 'a, 1, 2, 3'; my @split_comma = split /,/, $string; print "\@split_comma =>", Dumper(\@split_comma); my @split_comma_space = split /,\s+/, $string; print "\@split_comma_space =>", Dumper(\@split_comma_space);
Notice in the output -
@split_comma =>$VAR1 = [ 'a', ' 1', ' 2', ' 3' ]; @split_comma_space =>$VAR1 = [ 'a', '1', '2', '3' ];
Splitting with comma only leaves spaces in array elements, while splitting with comma+space leaves no spaces in array elements.

What split /,\s+/ does is to set the separator as comma followed by 1 or more spaces, thus eliminating the spaces from the result.