From: Pascal Meunier Date: 2005-09-30T06:53:47+09:00 Subject: help, weird global variable + load problem We have a script starting with: #!/usr/bin/ruby -w require 'cgi' cgi=CGI.new("html4") begin $load_path = nil load 'conf.rb' load 'create_vars.rb' (...) Which generates the error: ./create_vars.rb:1:in `load': string contains null byte (ArgumentError) This is the line in create_vars.rb that generates the error: load $load_path + 'lib/name_string.rb' The global variable $load_path is assigned a value in conf.rb. The error is inexplicably fixed by inserting arbitrary code between the two load commands: require 'cgi' cgi=CGI.new("html4") begin $load_path = nil load 'conf.rb' b=cgi load 'create_vars.rb' where "b=cgi" can be *any* code you think of; it magically makes the error go away and restores the value of $load_path that is assigned in conf.rb. Other details: This code runs on an Athlon-64 with Gentoo Linux. Programming in Ruby has been a lot of fun ever since we ditched mod-ruby (restarting Apache every time we change a class definition? Geez). However, getting errors like this one gives me a headache. Any ideas, besides leaving the bogus "b=cgi" code in? thanks, Pascal