======================================================================
 mb Cheat Sheet                                              [UR] اردو
======================================================================

[ 1. ماڈیول لوڈ کریں ]
  use mb;
  mb::set_script_encoding('utf8');

[ 2. حرف پر مبنی length / substr ]
  mb::length($str)              # حروف کی تعداد (بائٹس نہیں)
  mb::substr($str, $pos, $len)  # حرف کی پوزیشن سے سب سٹرنگ

[ 3. سٹرنگ تلاش ]
  mb::index($str, $sub)         # حرف پوزیشن انڈیکس
  mb::rindex($str, $sub)        # دائیں سے تلاش
  mb::index_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);

[ 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: رن ٹائم انٹرفیس
