======================================================================
 mb Cheat Sheet                                      [TW] 中文（繁體）
======================================================================

[ 1. 載入模組 ]
  use mb;
  mb::set_script_encoding('utf8'); # utf8 / sjis / eucjp / big5 / gbk / uhc

[ 2. 按字元操作 length / substr ]
  mb::length($str)              # 字元數（非位元組數）
  mb::substr($str, $pos, $len)  # 按字元位置截取子字串
  mb::substr($str, $pos, $len, $replacement)

[ 3. 字串搜尋 ]
  mb::index($str, $sub)         # 按字元位置搜尋
  mb::index($str, $sub, $pos)   # 從 $pos 開始搜尋
  mb::rindex($str, $sub)        # 從右側搜尋
  mb::index_byte($str, $sub)    # 按位元組位置搜尋（JPerl 語義）
  mb::rindex_byte($str, $sub)

[ 4. 大小寫轉換 ]
  mb::uc($str)  mb::lc($str)  mb::ucfirst($str)  mb::lcfirst($str)

[ 5. 字元編碼 ]
  mb::ord($str)  mb::chr($n)

[ 6. 其他字串操作 ]
  mb::chop($str)   mb::reverse(@list)
  mb::getc(FH)     mb::tr($str,$from,$to)

[ 7. 支援的編碼 ]
  utf8  sjis  eucjp  big5  big5hkscs  gbk  uhc  gb18030  rfc2279  wtf8

[ 8. 範例 ]
  use mb;
  mb::set_script_encoding('utf8');
  my $s = "你好世界";
  printf "字元數=%d\n",  mb::length($s);
  printf "子字串=%s\n",  mb::substr($s,0,2);
  printf "位置=%d\n",    mb::index($s,"世界");

[ 9. 執行時碼點正規表示式 (mb::qr) ]
  use mb qw(*mb utf8);
  $str =~ mb::qr(qr/./)         # "." 比對一個碼點
  $str =~ m{\G$mb{qr/(.)/}gc}   # 與 tie 形式等價

[ 10. 驗證合規位元組 (mb::valid) ]
  mb::valid($octets)            # 合規為1，否則為0
                                # 嚴格、可選；隨編碼而變

[ 11. 依碼位分割 (mb::split) ]
  @f = mb::split(qr/,/, $csv)   # 依碼位邊界分割

[ 12. 三種執行方式 (filter / modulino / runtime) ]
  use mb;                       # 路徑1：原始碼過濾器 (perl 5.8+)
  perl mb.pm script.pl          # 路徑2：modulino
  use mb qw(*mb utf8);          # 路徑3：執行時介面
