* transcode.c (econv_init): accept Encoding object as source_encoding
[ruby-svn.git] / sample / uumerge.rb
blob2576bcb8640d90df9f492eeca87195f523aadf4b
1 #!/usr/bin/env ruby
3 if ARGV[0] == "-c"
4   out_stdout = 1
5   ARGV.shift
6 end
8 $sawbegin = 0
9 $sawend = 0
11 while line = gets()
12   if /^begin\s*(\d*)\s*(\S*)/ =~ line
13     $mode, $file = $1, $2
14     $sawbegin+=1
15     if out_stdout
16       out = STDOUT
17     else
18       out = open($file, "w") if $file != ""
19     end
20     out.binmode
21     break
22   end
23 end
25 raise "missing begin" unless $sawbegin
27 out.binmode
28 while line = gets()
29   if /^end/ =~ line
30     $sawend+=1
31     out.close unless out_stdout
32     File.chmod $mode.oct, $file unless out_stdout
33     next
34   end
35   line.sub!(/[a-z]+$/, "")      # handle stupid trailing lowercase letters
36   next if /[a-z]/ =~ line
37   next if !(((($_[0] - 32) & 077) + 2) / 3 == $_.length / 4)
38   out << $_.unpack("u") if $sawbegin > $sawend
39 end
41 raise "missing end" if $sawbegin > $sawend
42 raise "missing begin" if ! $sawbegin
43 exit 0