From: Alex Young Date: 2007-06-20T19:02:57+09:00 Subject: Re: Net::Telnet Marcin Tyman wrote: > I've got an issue with following code: > > > t.cmd('String' => "iptables -t mangle -L", 'Match' => /\#/, 'Timeout' => > 15 ) > { |c| > > print c > sleep 1 #THIS IS AN ISSUE I CAN'T UNDERSTAND > > if c =~ patternDup #patternDup is RegExp object > rtrnMsg = "DUPLICATED" > iptblsLog.info(c.to_s) > elsif c =~ patternRules #patternRules is RegExp object > rtrnMsg = "RULES" > iptblsLog.info(c.to_s) > else > rtrnMsg = "NO RULES" > iptblsLog.info(c.to_s) > end #if > > } > > > Without sleep sometimes comparison c with particular RegExp doesn't > work. It isn't due to that regular expression doesn't match string > compared with. > After adding the sleep everything works well. It sounds to me like either c or the regexp are modified by a different thread, but without knowing where they come from (or, indeed, what t is and what cmd is supposed to yield), it's difficult to guess any more... -- Alex