anchor.diff:  
   like_compile(S) -> like_compile(S, <<>>).
   
  -like_compile(S, Esc) when is_list(S);is_binary(S) ->
  -    Escape = if 
  +like_compile(S, Esc) when is_list(S); is_binary(S)  -> re_compile(transform_like(S, Esc));
  +like_compile(_,_)                                   -> never_match.
  +
  +transform_like(S, Esc) ->
  +    Escape = if
           Esc =:= "" ->       "";
           Esc =:= <<>> ->     "";
           is_list(Esc) ->     "[^"++Esc++"]";
  
positive.code:     end,
      S1 = re:replace(S, Escape++"%", ".*", [global, {return, binary}]),
      S2 = re:replace(S1, Escape++"_", ".", [global, {return, binary}]),
      re_compile(S2);
  like_compile(_,_) ->    never_match.
  
  re_match(never_match, _) -> false;
  re_match(RE, S) when is_list(S);is_binary(S) ->
  
negative.code:             false ->    none
          end,
  
      %% Like strig to Regex string
          ?assertEqual(<<"^Sm.th$">>, transform_like(<<"Sm_th">>, <<>>)),
          ?assertEqual(<<"^.*Sm.th.*$">>, transform_like(<<"%Sm_th%">>, <<>>)),
          ?assertEqual(<<"^.A.*Sm.th.*$">>, transform_like(<<"_A%Sm_th%">>, <<>>)),
  
      %% Regular Expressions
          RE1 = like_compile("abc_123%@@"),
          ?assertEqual(true,re_match(RE1,"abc_123%@@")),         
  