#!/usr/bin/perl use strict; use warnings; { no warnings 'redefine'; *CORE::GLOBAL::glob = sub{ my $expr = shift; warn $expr; $expr =~ s{ \A(.*?)~~(.*?)(\^\.)(\.\^?)(.*?) }{ my $num = eval $1; my $min = $2; my $lt0 = length($3) == 1 ? '<=' : '<'; my $lt1 = length($4) == 1 ? '<=' : '<'; my $max = $5; qq($min $lt0 $num && $num $lt1 $max); }emsx; warn $expr; eval $expr; }; } local $\="\n"; print "OK" if ; print "OK" unless ;