F. Senault wrote:
> Please provide some code to demonstrate this.
#!/usr/bin/env ruby
require 'sqlite3'
db = SQLite3::Database.new('test.sqlite')
db.execute ('drop table if exists example') # clean up incase of
multiple runs
db.execute('create table example (aval)')
require 'cgi'
cgi = CGI.new('html4')
a = cgi['a']
a.sub!(/hi/, 'bye')
# to see expected behavior, replace the above with: a = a.sub(/hi/,
'bye')
puts "Inserting value a=#{a} into the database.\n"
sql = "insert into example (aval) values (?)"
db.execute(sql, a)
sql = "select aval from example"
val = db.get_first_value(sql)
puts "What was actually inserted into the database: #{val}\n"
########---------- end of code
To run this, type "a=hi"[enter][ctrl-d] to simulate the behavior of a
cgi session. You will get the output:
Inserting value a=bye into the database.
What was actually inserted into the database: hi
Since other responders seem to think I expect sub to behave the same as
sub!, I don't. I expect str.sub! to modify str, and I expect str.sub to
return a modified copy of the str. This is not the same behavior.
--
Posted via http://www.ruby-forum.com/.