if ($x =~ /^(?:${\join "|", $y-1 .. $y+1})$/) #### $ perl -E 'my $y = 3; say "$_: ", /^(?:${\join "|", $y-1 .. $y+1})$/ ? "YES" : "NO" for 1..5' 1: NO 2: YES 3: YES 4: YES 5: NO #### if ($x==$y or $x==$y-1 or $x==$y-2 or $x==$y-3 or $x==$y+1) #### if ($x =~ /^(?:${\join "|", $y-3 .. $y+1})$/) #### $ perl -E 'my $y = 3; say "$_: ", /^(?:${\join "|", $y-3 .. $y+1})$/ ? "YES" : "NO" for -1..5' -1: NO 0: YES 1: YES 2: YES 3: YES 4: YES 5: NO