From: Robert Dober Date: 2008-07-17T22:39:04+09:00 Subject: Re: Help with array On Thu, Jul 17, 2008 at 3:15 PM, Victor Reyes wrote: > Hello team, > > I am having an issue with the code below. > Could you please take a quick look at the highlighted and commented code > below and let me know what's wrong? > > Thank you > > Victor > > > input.file > group.was=hostname1 hostname.2 hostname.r3 > group.web=webserver1 webserver2 webserver3 hostname1 /usr/local/bin/test.sh > web /usr/local/bin/testcmd.sh > #end of input.file > > # Program > @myhostname = `hostname` # webserver3 > #comment# The intent is to create a arrays "was" and "web" and to assign the > values in the group statement > IO.foreach("inpit.file") do |line| > if line =~ /^#/ || line.chomp.length == 0 > next > end # if line > if line.upcase =~ /^GROUP/ > grouplit, groupinfo = line.split(".") > groupname, groupentries = groupinfo.split("=") > #{groupname} = groupname.to_a > groupname = groupentries.split > next > end # if GROUP > targetserver, command = line.split(" ") > if targetserver == @myhostname > @runcommand = true > end # if targetserver > #comment# In this case I'm trying to determine if "myhostname" is in the > array "web" > #comment# I've tried a number of ways to get the following to work without > success > if #{targetserver}.*include?* "#{@myhostname <%23%7B@myhostname>}" > ####### THIS IS WHERE THE FAILURE IS > @runcommand = true > end # if > end > exit > Try to parse this code if @runcommand = true end Do you see what is wrong? If not scroll down ;) The escape #{ works in string literals only, so you probably just wanted to write if targetserver.include? "#{@myhostname <%23%7B@myhostname>}" I have no idea however what you meant with *.include?* (just high lightening, I guess). HTH Robert -- http://ruby-smalltalk.blogspot.com/ --- AALST (n.) One who changes his name to be further to the front D.Adams; The Meaning of LIFF