On Wed, 1 Mar 2006, Jakob Hirsch wrote:

> > How can I convert "1d10h17m36s" into 123456 with exim? Although exim does
> 
> cumbersome (but with the right regex probably much easier) but feasible:
> 
> ${eval:\
> ${if match {1d10h17m36s} {\N(\d+)w\N} {$1*7*24*60*60+}}\
> ${if match {1d10h17m36s} {\N(\d+)d\N} {$1*24*60*60+}}\
> ${if match {1d10h17m36s} {\N(\d+)h\N} {$1*60*60+}}\
> ${if match {1d10h17m36s} {\N(\d+)m\N} {$1*60+}}\
> ${if match {1d10h17m36s} {\N(\d+)s\N} {$1+}}\
> 0}
> 
> > have a function for this (readconf_readtime), I'm unable to find an
> > expansion operator to convert as I demand.
> 
> Better to put that into a string expansion function then.

Yes, it is only a small amount of code to add something like
${readtime:1d10h17m36s} and I'll think about doing that.

Meanwhile, this might also work

  ${eval:\
    ${if match {1d10h17m36s}\
      {\N^(?:(?:(\d+)w|)(\d+)d|)(?:(\d+)h|)(?:(\d+)m|)(?:(\d+)s|)$\N}\
      {(((0$1*7+0$2)*24+0$3)*60+0$4)*60+0$5}\
    }\
  }  
  



-- 
Philip Hazel            University of Cambridge Computing Service
Get the Exim 4 book:    http://www.uit.co.uk/exim-book

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

Reply via email to