Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: check if string is valid with special cases

by swl (Hermit)
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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2018-11-14 07:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My code is most likely broken because:
















    Results (164 votes). Check out past polls.

    Notices?