On Thu, Oct 14, 2010 at 9:55 PM, Nigel Kersten <ni...@explanatorygap.net>wrote:
> On Thu, Oct 14, 2010 at 7:18 AM, Mohit Chawla > <mohit.chawla.bin...@gmail.com> wrote: > > Split & Join inside an inline template should work well. > > Wouldn't it be a bit cleaner to use the builtin regsubst function? > > http://docs.puppetlabs.com/references/latest/function.html#regsubst > > "Example: > > Get the third octet from the node’s IP address: > > $i3 = > regsubst($ipaddress,'^([0-9]+)[.]([0-9]+)[.]([0-9]+)[.]([0-9]+)$','\3')" > > > I really try to avoid inline_template unless I absolutely have to, > even though the actual Ruby code there is cleaner than the long regex. > If you really only want the third octet, you could use a much simpler > regex than the one above. > > Obligatory plug for the site I always use for regex references: > http://www.regular-expressions.info as it's an easy domain name to > remember. > > > > > > For eg., > > $nsip=inline_template('<%= ipaddress.split(".")[0..1].collect{|x| > > x}.join(".") %>') > > This will split an ip address, say 192.168.1.3, split it at each > occurrence > > of a "." and will join the first two numbers ( referenced as [0..1] ), to > > give 192.168. > > So, in your case, I guess something like <%= ipaddress.split(".")[1] %> > > should work. > > > > > > On Thu, Oct 14, 2010 at 7:27 PM, Dennis vdM <cybernijn...@gmail.com> > wrote: > >> > >> I'm trying to manipulate the following facter variable: > >> > >> ipaddress => 10.85.207.2 > >> > >> What I need is the second group of digits. If it's 84 then location is > >> A, but if it's 85 then location is B. > >> In puppet I couldn't grab this second set of digits, but maybe there > >> is a way? > >> > >> I've already tried to make a custom fact, but my ruby knowledge is > >> *ahem* pretty basic. > >> So far I've only managed to manipulate a string with chop!, but that > >> really isn't the way. > >> Regular expressions in Ruby are a bit of a mystery to me.... > >> > >> Ideas anyone? > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "Puppet Users" group. > >> To post to this group, send email to puppet-us...@googlegroups.com. > >> To unsubscribe from this group, send email to > >> puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > . > >> For more options, visit this group at > >> http://groups.google.com/group/puppet-users?hl=en. > >> > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Puppet Users" group. > > To post to this group, send email to puppet-us...@googlegroups.com. > > To unsubscribe from this group, send email to > > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > . > > For more options, visit this group at > > http://groups.google.com/group/puppet-users?hl=en. > > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-us...@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > Hi Nigel, Thanks for pointing that out, I wasn't aware of regsubst. But, just for my curiosity, what are the disadvantages of using an inline template, in such ( trivial ? ) cases ? Would be nice to know. Thanks. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.