When I try to define this function with a syntax error in
the regular expression, ruby sometimes segfaults.
I'm using "ruby 1.8.3 (2005-05-12) [i686-linux]".
The obvious/easy workaround is to not have the syntax
error in the regexp

but I just figured I'd report
the less than perfect failure mode.
================================================== ==================================
irb(main):012:0*
irb(main):013:0*
irb(main):014:0* def ascleanstr(v)
(v.class==String && v=~/\A\s*\Z/) ? nil :
(v.class==Array && v[0].class==Fixnum) ? v.pack("C*").unpack("H*")[0] :
v = v.to_s.strip.gsub(/\r/,"")
v =~ v.length>3 && /\A[A-Z\#0-9 _\t\-\/(\)]*\Z\/ ?
v.split(/[\t _]+/).map{|w| w=~/\d/ ? w : w.capitalize}.join(" ") :
v
end
irb(main):015:1> irb(main):016:1* irb(main):017:1* irb(main):018:1> irb(main):019:1/ irb(main):020:0* (irb):19: warning: invalid character syntax; use ?\\
s
SyntaxError: compile error
(irb):19: premature end of regular expression: /\A[A-Z\#0-9 _\t\-\/(\)]*\Z\/ ?
v.split(/
(irb):19: syntax error
v.split(/[\t _]+/).map{|w| w=~/\d/ ? w : w.capitalize}.join(" ") :
^
(irb):19: unmatched ): /).map{|w| w=~/
(irb):19: syntax error
v.split(/[\t _]+/).map{|w| w=~/\d/ ? w : w.capitalize}.join(" ") :
^
(irb):19: syntax error
v.split(/[\t _]+/).map{|w| w=~/\d/ ? w : w.capitalize}.join(" ") :
^
(irb):19: syntax error
from (irb):20
from ^C:0
irb(main):021:0> SyntaxError: compile error
(irb):21: syntax error
from (irb):21
from ^C:0
irb(main):022:0> irb(main):023:0* def ascleanstr(v)
(v.class==String && v=~/\A\s*\Z/) ? nil :
(v.class==Array && v[0].class==Fixnum) ? v.pack("C*").unpack("H*")[0] :
v = v.to_s.strip.gsub(/\r/,"")
v =~ v.length>3 && /\A[A-Z\#0-9 _\t\-\/(\)]*\Z\/ ?
v.split(/[\t _]+/).map{|w| w=~/\d/ ? w : w.capitalize}.join(" ") :
v
end
free(): invalid pointer 0x8186ac0!
free(): invalid pointer 0x817a7d0!
free(): invalid pointer 0x8182bf8!
/usr/local/lib/ruby/1.8/irb.rb:285: [BUG] Segmentation fault
ruby 1.8.3 (2005-05-12) [i686-linux]
Abort
greenie import/denton> ruby -version
ruby 1.8.3 (2005-05-12) [i686-linux]
-e:1: undefined local variable or method `rsion' for main:Object (NameError)
greenie import/denton>