From: vnpenguin@... Date: 2005-12-25T19:02:52+09:00 Subject: convert perl code to ruby: help please Hi all, I have a following Perl code: ----------------------------------------------------------------------------- %charmap =( "a`" => "\xc3\xa0", "a?" => "\xe1\xba\xa3", "a~" => "\xc3\xa3", "a'" => "\xc3\xa1", "a." => "\xe1\xba\xa1", "a(" => "\xc4\x83", "a(`" => "\xe1\xba\xb1", "a(?" => "\xe1\xba\xb3", "a(~" => "\xe1\xba\xb5", "a('" => "\xe1\xba\xaf", "a(." => "\xe1\xba\xb7", "a^" => "\xc3\xa2", "a^`" => "\xe1\xba\xa7", "a^?" => "\xe1\xba\xa9", "a^~" => "\xe1\xba\xab", "a^'" => "\xe1\xba\xa5", "a^." => "\xe1\xba\xad" ) $str =~ s{ ( [aA] (?: [(^]? ['`?~.] | [(^] ) )}{$charmap{$1}}egox; ------------------------------------------------------------------------------------------- Just for converting from VIQR (a 7bit charset for Vietnamese) into UTF-8. I'm trying to do the same method in Ruby: ---------------------------------------------------------------------- charmap = { "a`" => "\xc3\xa0", "a?" => "\xe1\xba\xa3", "a~" => "\xc3\xa3", "a'" => "\xc3\xa1", "a." => "\xe1\xba\xa1", "a(" => "\xc4\x83", "a(`" => "\xe1\xba\xb1", "a(?" => "\xe1\xba\xb3", "a(~" => "\xe1\xba\xb5", "a('" => "\xe1\xba\xaf", "a(." => "\xe1\xba\xb7", "a^" => "\xc3\xa2", "a^`" => "\xe1\xba\xa7", "a^?" => "\xe1\xba\xa9", "a^~" => "\xe1\xba\xab", "a^'" => "\xe1\xba\xa5", "a^." => "\xe1\xba\xad"} def vconv (str) str.gsub(/([aA] (?:[(^]?['`?~.]|[(^]) )/){ |k| charmap[k] } end $stdin.each {|line| puts vconv(line)} --------------------------------------------------------------------------------------- No error but I can't get UTF-8 string :( I'm completly Nuby in Rubyland, so any help will be very apreciated. TIA,