| File: | blib/lib/CheckSpelling/CheckPattern.pm |
| Coverage: | 55.0% |
| line | stmt | bran | cond | sub | time | code |
|---|---|---|---|---|---|---|
| 1 | #! -*-perl-*- | |||||
| 2 | ||||||
| 3 | package CheckSpelling::CheckPattern; | |||||
| 4 | ||||||
| 5 | sub process_line { | |||||
| 6 | 1 | 1 | my ($line) = @_; | |||
| 7 | 1 | 1 | chomp $line; | |||
| 8 | 1 | 1 | return ($line, '') if $line =~ /^#/; | |||
| 9 | 1 | 3 | return ($line, '') unless $line =~ /./; | |||
| 10 | 1 1 | 1 9 | if (eval {qr/$line/}) { | |||
| 11 | 1 | 2 | return ($line, '') | |||
| 12 | } | |||||
| 13 | 0 | $@ =~ s/(.*?)\n.*/$1/m; | ||||
| 14 | 0 | my $err = $@; | ||||
| 15 | 0 | $err =~ s{^.*? in regex; marked by <-- HERE in m/(.*) <-- HERE.*$}{$1}; | ||||
| 16 | 0 | my $start = $+[1] - $-[1]; | ||||
| 17 | 0 | my $end = $start + 1; | ||||
| 18 | 0 | return ("^\$\n", "$start ... $end, Warning - Bad regex: $@ (bad-regex)\n"); | ||||
| 19 | } | |||||
| 20 | ||||||
| 21 | 1; | |||||