Marcin Krol wrote:
> Hello everyone,
> 
> Following string expansion works:
> 
>> ${if 
>> eq{${lookup{da7.promo.pl}lsearch*{/etc/virtual/domainowners}{$value}}}{} 
>> {remote}{local}}
> local
>> ${if 
>> eq{${lookup{not.local.domain}lsearch*{/etc/virtual/domainowners}{$value}}}{} 
>> {remote}{local}}
> remote
> 
> However, I need to actually get the $value from
> lsearch*{/etc/virtual/domainowners} as return value of entire
> expression (that is, I want to get the domain name if it's local, or
> 'remote' string if it's not local).
> 
> The following does _not_ work:
> 
> ${if eq{${lookup{$domain}lsearch*{/etc/virtual/domainowners}{$value}}}{} 
> {remote}{$value}}
> 
> $value seems to be always empty here.
> 
> Is there some smart way of retaining $value from lsearch lookup or do
> I have to resort to the following kludge?

Including a $lookup inside a $if is almost always the wrong thing to do;
$lookup implements its own conditional semantics.

Try this:

${lookup{da7.promo.pl}lsearch*{/etc/virtual/domainowners}{$value}{remote}}

- Marc

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to