in reply to Re: Checking the length of all row elements
in thread Checking the length of all row elements
Split on the delimiter or regex into an array (the first arg of split is a regex). Then use that array as input to a grep in a scalar context which will give you a value of 0,1,2,3,4... If the value is 0, then there are no fields >255 and this is a "good line".
The above code will be extremely performant. Do what you can do before putting the record into the DB.while (<IN>) { chomp; # needed if not splitting on whitespace my @fields = split; # default split - splits on whitespace: /\s+/ # otherwise use: # my @fields = split(/regex_here/, $_); if ( grep{length($_) >255}@fields ) { print "BAD LINE: $_\n"; #do what you need here } else { #...its a "good line" here } }
updated: minor formatting tweak
|
|---|