in reply to Re^5: Nonrepeating characters in an RE
in thread Nonrepeating characters in an RE
P.S.One can use (.).*(.) instead of (.).*?(.), omitting question mark - non-greediness modifier (possibly it is only slightly faster).#!/usr/bin/perl -l use warnings; use strict; my $template = 'neocene'; my $equality_triangle_template = ''; $template =~ m/(.).*?(.)(?{ $equality_triangle_template .= $1 eq $2 ? +1 : 0 })(*FAIL)/; my @dict; @dict = <>; # <-- 354984si.ngl chomp @dict; my @good = grep { my $equality_triangle_word = ''; m/(.).*?(.)(?{ $equality_triangle_word .= $1 eq $2 ? 1 : 0 })(*FAI +L)/; $equality_triangle_word eq $equality_triangle_template; } grep length == length $template, @dict; print for @good; ^Z kaitaka lauhala metreme neocene tempete
|
|---|