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/