#!/usr/bin/perl use strict; use warnings; my $content = < $res1<\/$tag>$res2<$tag$class> $res3<\/$tag>/i; } if ($content =~ /\b($par2)(\W+(?:\w+\W+){1,$distance})?($par1)\b/i) { ($res1, $res2, $res3) = ($1, $2, $3); $new_content =~ s/$res1\Q$res2\E$res3/<$tag$class> $res1<\/$tag>$res2<$tag$class> $res3<\/$tag>/i; } print "Res1: \n$res1\n\nRes2: \n$res2\n\n Res3: \n$res3\n\n"; exit;