From: LC Geldenhuys Date: 2004-02-17T17:49:53+09:00 Subject: Frozen string problem, but I haven't frozen anything? Hi, I am new to Ruby. I'm trying to get some Ruby scripts going to manage or CVS log message emails. (I haven't written them myself, got them from the web.) I get: /home/cvs/repository/CVSROOT/commitinfo.rb:26:in `tr_s!': can't modify frozen string (TypeError) from /home/cvs/repository/CVSROOT/commitinfo.rb:26 I've done some reading, and I suspect I understand what the frozen string issue is about. The problem is, I don't see how/why this string is frozen? Here is the relevant code snippet: ----------------------------------- if ARGV.size < 4 puts "Usage: #{$0} CVSROOT USER modulepath file1 [file2...]" exit 1 # No way! end $cvsroot, $cvsuser, $modulepath, *$cvsfiles = *ARGV $cvsroot.tr_s!('/', '/') $modulepath.tr_s!('/', '/') ----------------------------------- The two lines using 'tr_s!' causes the problem, but I don't see how/why $cvsroot or $modulepath is 'frozen'? Might it be due to the fact that they are passed to the script, i.e. some global/local scope issue? Regards, Lourens