in reply to Re: Re: Re: split/map weirdness: empty strings vs undef
in thread split/map weirdness: empty strings vs undef
Argh... I thought I could do better, but to get your exact results, all I could come up with was:
That second line can get a bit simpler if you define an empty string to have zero fields instead of having a single null field.my @fields = $string =~ m/([^|]*)\|?/g; $string && $string !~ /\|$/ && pop @fields;
Congrats, your solution is better than mine even though it looks unnecessarily complicated.
I think the best suggestion so far is to tell split how many fields you want:
Though I'd probably break it up into two lines:my @fields = split(/\|/,$string,$string =~ tr/|/|/ + 1);
my $fieldcount = $string =~ tr/|/|/ + 1; my @fields = split(/\|/, $string, $fieldcount);
-Blake
In Section
Seekers of Perl Wisdom