From: Vincent Fourmond Date: 2006-11-08T01:14:39+09:00 Subject: Re: Why am I getting this string error? Peter Bailey wrote: > Can someone explain to me why I'm getting the error below for this part > of a script? It doesn't seem to like line 24, the scan line, but, I've > got this same code being used for other needs and it doesn't complain at > all there. > 23 file_contents = File.read(psfile) > 24 file_contents.scan(/\%\%Pages: (\d{1,5})[ ]+\n/) do > 28 file_contents << "\%\%Blank page for Asura.\n\%\%Page: > 32 end > ... > > getting this error: > >> rubyw indexpagecounts_6x9.rbw > indexpagecounts_6x9.rbw:24:in `scan': string modified (RuntimeError) > from indexpagecounts_6x9.rbw:24 > from indexpagecounts_6x9.rbw:20:in `each' > from indexpagecounts_6x9.rbw:20 >> Exit code: 1 You're modifying file_contents during scan, so scan gets confused. from what I see, you'd better use gsub! with a block, since, if I understood your point, you are basically inserting text where you detect something. Vince -- Vincent Fourmond, PhD student http://vincent.fourmond.neuf.fr/