unless ($text =~ /[a-zA-Z\s]{10,}/s) { If you're here checking if $text has at least 10 letters/spaces, you don't need the range unless ($text =~ /[a-zA-Z\s]{10}/s) {
does the same thing. There may well be more than 10 (one would hope so ;-) but the 2nd will match anyone the first will match and be "cheaper", for the RE engine, I'd bet. Now if you were going to do something w/ those 10+ chars, then the range unless ($text =~ /([a-zA-Z\s]{10,})/s) { would be correct - possibly getting all of the first 10+ char sentence/phrase up to the first punctuation mark. On Thu, Nov 23, 2017 at 6:56 PM, Mike Flannigan <mikef...@att.net> wrote: > > Thanks for pointing that out. > I'll be darned. I need to check some of my scripts > for this error. > > I'm not sure what I was trying to do with that. > Probably eliminate very small files. > > > $text is a read from a PDF file: > > This is what I wrote a long time ago: > > eval { > ($text = $pdf->getPageText($page)); > }; > if ($@) { > print "$date | Skipping $filename since it won't parse\n\n"; > print OUT "$date | Skipping $filename since it won't parse\n\n" unless > exists $log{$filename}; > goto SKIP; > } > > $text = "" unless defined $text; > > unless ($text =~ /[a-zA-Z]{,10}/s) { > undef @lines; > undef $texttemp; > goto SKIP; > } > > > Because of this error I think all PDF files are > eliminated from consideration, which is not a > huge problem, but is not intended. > > > Without doing a whole lot of thinking, I think I > may change that one line to: > > unless ($text =~ /[a-zA-Z\s]{10,}/s) { > > > Thanks for the response. > > > Mike > > > > > On 11/23/2017 8:31 AM, X Dungeness wrote: > > Hm, that's a misbegotten quantifier. > > From 5.26.0 perlreref: > > There is no quantifier "{,n}". That's interpreted as a literal string. > > On Thu, Nov 23, 2017 at 3:04 AM, Mike Flannigan <mikef...@att.net> wrote: > >> >> I recently installed the latest version of >> Strawberry Perl. My scripts were developed >> in ActiveState Perl. >> >> I have a line: >> unless ($text =~ /[a-zA-Z]{,10}/s) { >> >> When I run the script that line is in I get: >> >> Unescaped left brace in regex is deprecated here >> (and will be fatal in Perl 5.30), passed through in >> regex; marked by <-- HERE in m/[a-zA-Z]{ <-- HERE ,10}/ >> at htmlpost.pl line 316. >> >> I see this: >> http://www.perlmonks.org/?node_id=1104517 >> >> I also see that escaping it with my ActiveState Perl >> messes up it's function entirely, but still allows it >> to run with no errors so I say this is a huge >> problem. Seems like the migration to Perl 5.30 is going to >> be interesting to say the least. >> >> Anybody have any other comments about this? >> >> >> Mike Flannigan >> >> -- >> To unsubscribe, e-mail: beginners-unsubscr...@perl.org >> For additional commands, e-mail: beginners-h...@perl.org >> http://learn.perl.org/ >> >> >> > > -- a Andy Bach, afb...@gmail.com 608 658-1890 cell 608 261-5738 wk