Problem with regexp?


#1

Hello,

I am trying to replace some old Perl scripts with Ruby, however

i get stuck with this line

if line =~/($time)/ && line =~/(xxx)/

<<
$time is a global variable containing the current day/month, but it
wont match!
what am i doing wrong?

I am new to Ruby, so please dont be offended.


#2

Wmute wrote:

if line =~/($time)/ && line =~/(xxx)/

in Ruby $… wont reference a variable like in perl, use #{…}

if line =~ /#{time}/ && line =~ /(xxx)/ …

in case of /#{(time)}/ regexp will be compiled each time…

so you may consider:

r = /#{time}/ , or:
r = Regexp.new(time)


probably some loop

if line =~ r && …

lopex


#3

Wmute wrote:

Hello,

I am trying to replace some old Perl scripts with Ruby, however

i get stuck with this line

if line =~/($time)/ && line =~/(xxx)/

You probably want

if line =~ /#{$time}/ and line =~ /#{xxx}/

(assuming there is a variable called xxx).

HTH

Michael


Michael U.
R&D Team
ISIS Information Systems Austria
tel: +43 2236 27551-219, fax: +43 2236 21081
e-mail: removed_email_address@domain.invalid
Visit our Website: www.isis-papyrus.com


#4

Thanks! problem solved!