From: "Rebhan, Gilbert" Date: 2007-05-14T15:54:03+09:00 Subject: Probs with accessing variables in yaml file Hi, i have a script that is configured via yaml file : ---script----------- require 'yaml' require 'highline/import' require 'win32/registry' config=YAML.load_file("cvs_login.yaml") [ ... ] def filesed!(pattern, replaceString, filename) regexPattern = Regexp.compile(pattern) tmpFilename = "#{filename}.#{Time.now.usec}" tmpFile = File.new(tmpFilename, "w") srcFile = File.open(filename) srcFile.each_line do |line| tmpFile.print line.gsub(regexPattern) {|match| replaceString } end tmpFile.close srcFile .close File.rename(tmpFilename, filename) end if config['targetdirs'] Win32::Registry::HKEY_CURRENT_USER.open('Software\Cvsnt\cvspass') do |reg| @cvsreg = reg[":pserver:#{ENV["USERNAME"]}@cvsprod:d:/cvsrepos/test"] end config['targetdirs'].each do |dir| Dir.chdir(dir) puts "\n\n" Dir.glob(config['targetfilepattern']).each do |file| puts "... processing "<.*<\/Passwort>","<\/Pa sswort>","#{file}") filesed!(config['replacefrom'],config['replaceto'],"#{file}") end end puts "\n\nDone !!" sleep 1 else puts "\n\nDone !!" sleep 1 end ---script----------- --yaml------------- cvs_login.yaml looks like = targetdirs: - Y:/tempwork targetfilepattern: "Scm*.xml" replacefrom: ".*<\/Passwort>" replaceto: "<\/Passwort>" --yaml-------------- Question = If i write : puts 'replaceto == '<<"<\/Passwort>" direct into the script it's echoed correct, but it doesn't work via yaml file; when running via yaml the line in my xml file get's replaced to = <\/Passwort> Where's the failure ?? Regards, Gilbert