Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: check if string is valid with special cases

by swl (Priest)
on May 15, 2018 at 10:48 UTC ( #1214538=note: print w/replies, xml ) Need Help??

in reply to check if string is valid with special cases

If your strings could contain embedded commas then use Text::CSV_XS or similar to split it into an array, then all or any from List::Util to check that none or some are blank.

use Text::CSV_XS; use List::Util qw /any/; my $csv = Text::CSV_XS->new; my @strings = ( 'a,b,c,d,e,f', 'a,b,,d,e,f', 'a,b,"c,and,some,commas",d,e,f', 'a,b,c,d,e', ); foreach my $string (@strings) { print "Checking $string\n"; my $status = $csv->parse ($string); my @array = $csv->fields; warn ($csv->error_input) if !$status; print "Did not get six entries in $string\n" if not @array == 6; print "one entry in $string is zero length\n" if any {!length $_} @array; print join ':', @array; print "\n\n"; }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1214538]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (3)
As of 2020-09-20 20:50 GMT
Find Nodes?
    Voting Booth?
    If at first I donít succeed, I Ö

    Results (122 votes). Check out past polls.