Thread: Re: [htmltmpl] shared_cache with H::T::E
Brought to you by:
samtregar
From: Sam T. <sa...@tr...> - 2004-02-26 00:36:08
|
On Thu, 26 Feb 2004, Mathew Robertson wrote: > What is the reason that H::T::E cant use a shared cache? It's missing code to make it work. -sam |
From: Mathew R. <mat...@re...> - 2004-02-26 01:13:10
|
any ideas...? I'd like to have a go at implementing it, as I think it = would be a worthwhile addition... ----- Original Message -----=20 From: "Sam Tregar" <sa...@tr...> To: "Mathew Robertson" <mat...@re...> Cc: "HTML::Template users" <htm...@li...> Sent: Thursday, February 26, 2004 11:27 AM Subject: Re: [htmltmpl] shared_cache with H::T::E > On Thu, 26 Feb 2004, Mathew Robertson wrote: >=20 > > What is the reason that H::T::E cant use a shared cache? >=20 > It's missing code to make it work. >=20 > -sam > |
From: Sam T. <sa...@tr...> - 2004-02-26 01:42:52
|
On Thu, 26 Feb 2004, Mathew Robertson wrote: > any ideas...? I'd like to have a go at implementing it, as I think > it would be a worthwhile addition... Why? I'm not a fan of shared_cache, personally. It's no faster than file_cache and total pain to adminster. I generally work in Apache/mod_perl and use the straight memory cache. -sam |
From: Mathew R. <mat...@re...> - 2004-02-26 01:20:21
|
Hi Sam, I was looking through H::T when I noticed that it splits the incoming = template using: split ( /(?<=3D)/ , $template) This regex ends up splitting on every '<'. I have modified my version to use: split( m!(?=3D<(?:\!--\s*)?/?[Tt][Mm][Pp][Ll]_)! , $template) which thus matches only on <TMPL_ and </TMPL_ tags. As a result of trying to understand the output of the debug info, I have = found this regex to generate chunks which are simpler to read, from a = human point of view. This may or may not be of benefit (eg I'm not sure if its faster or = slower), but it has helped in debugging. cheers, Mathew |
From: Pete P. <pet...@cy...> - 2004-03-04 21:20:44
|
Mathew Robertson wrote: > Hi Sam, > > I was looking through H::T when I noticed that it splits the incoming template using: > > split ( /(?<=)/ , $template) > > This regex ends up splitting on every '<'. > > I have modified my version to use: > > split( m!(?=<(?:\!--\s*)?/?[Tt][Mm][Pp][Ll]_)! , $template) > > which thus matches only on <TMPL_ and </TMPL_ tags. > Won't this break if you use the <!-- TMPL... --> constructs of putting the TMPL tags within HTML comments? Pete |
From: Mathew R. <mat...@re...> - 2004-03-04 22:16:04
|
> > I was looking through H::T when I noticed that it splits the = incoming template using: > >=20 > > split ( /(?<=3D)/ , $template) > >=20 > > This regex ends up splitting on every '<'. > >=20 > > I have modified my version to use: > >=20 > > split( m!(?=3D<(?:\!--\s*)?/?[Tt][Mm][Pp][Ll]_)! , $template) > >=20 > > which thus matches only on <TMPL_ and </TMPL_ tags. > >=20 >=20 > Won't this break if you use the <!-- TMPL... --> constructs of putting = > the TMPL tags within HTML comments? Not from my testing it didn't; this regex only matches on: <TMPL_ </TMPL_ <!-- TMPL_ <!-- /TMPL_ doesn't matter where the TMPL_ construct is located. However you could be right as there may be some cases where the regex = doesn't quite match correctly, although I cant think of such a = situation. cheers, Mathew |
From: Pete P. <pet...@cy...> - 2004-03-08 16:40:05
|
Mathew Robertson wrote: >>>I was looking through H::T when I noticed that it splits the incoming template using: >>> >>> split ( /(?<=)/ , $template) >>> >>>This regex ends up splitting on every '<'. >>> >>>I have modified my version to use: >>> >>> split( m!(?=<(?:\!--\s*)?/?[Tt][Mm][Pp][Ll]_)! , $template) >>> >>>which thus matches only on <TMPL_ and </TMPL_ tags. >>> >> >>Won't this break if you use the <!-- TMPL... --> constructs of putting >>the TMPL tags within HTML comments? > > > Not from my testing it didn't; this regex only matches on: > > <TMPL_ > </TMPL_ > <!-- TMPL_ > <!-- /TMPL_ > > doesn't matter where the TMPL_ construct is located. > > However you could be right as there may be some cases where the regex doesn't quite match correctly, although I cant think of such a situation. Ah, now I see. I read the text you wrote instead of the regex because, you know, I'm not a regex engine. ;) Of course *had* I properly read the regex you wrote, I would have figured it out. Couldn't you use a case-insensitive match though to avoid the [Tt][Mm][Pp][Ll] part? Pete |
From: Mathew R. <mat...@re...> - 2004-03-08 22:48:50
|
> Ah, now I see. I read the text you wrote instead of the regex because, = > you know, I'm not a regex engine. ;) >=20 > Of course *had* I properly read the regex you wrote, I would have=20 > figured it out. :-) > Couldn't you use a case-insensitive match though to avoid the=20 > [Tt][Mm][Pp][Ll] part? yep - but it would probably be about 10 times slower, as m//i makes a = copy of the input string. There are a number of places on the web which document this fact - until = the perl regex engine gets smarter, then the [...] syntax is the best = way to go Mathew |
From: Pete P. <pet...@cy...> - 2004-03-10 21:10:41
|
>>Ah, now I see. I read the text you wrote instead of the regex because, >>you know, I'm not a regex engine. ;) >> >>Of course *had* I properly read the regex you wrote, I would have >>figured it out. > > > :-) > > >>Couldn't you use a case-insensitive match though to avoid the >>[Tt][Mm][Pp][Ll] part? > > > yep - but it would probably be about 10 times slower, as m//i makes a copy of the input string. > > There are a number of places on the web which document this fact - until the perl regex engine gets smarter, then the [...] syntax is the best way to go Well, gee - you learn something new everyday! - Thanks! Pete |