======================================================================
 TUI::Handy Cheat Sheet                                  [BN] বাংলা
======================================================================

[ 1. ইনস্টলেশন ও লোডিং ]

  কোনো CPAN নির্ভরতা নেই; Handy.pm কে @INC-এর যেকোনো ডিরেক্টরিতে কপি করুন, অথবা সরাসরি স্ক্রিপ্ট হিসেবে চালান।

  use TUI::Handy;
  # or, as a command:  perl Handy.pm form.txt

[ 2. ফর্ম তৈরি ও চালানো ]

  DSL স্ট্রিং বা ফাইল থেকে ফর্ম তৈরি করুন, তারপর run() কল করুন; ফলাফল একটি হ্যাশ রেফারেন্স যার কী হলো DSL-এর লেবেলগুলো।

  my $tui  = TUI::Handy->new(dsl => $text);   # or new(file => $path)
  my $form = $tui->run;
  print "Company = $form->{Company}\n";

[ 3. টেক্সট বক্সের চিহ্ন ]

  [ ]-এর ভিতরের ফিল অক্ষর টেক্সট বক্সের ধরন নির্ধারণ করে: _ হাফ-উইড্থ, # সংখ্যা, $ বা \ মুদ্রা, YYYYMMDD বা % তারিখ, এবং যেকোনো ফুল-উইড্থ অক্ষর zenkaku ধরনের জন্য।

  Company: [__________]
  Age:     [###]
  Price:   [$$$$$$]
  Date:    [YYYYMMDD]

[ 4. চেকবক্স ও রেডিও বাটন ]

  [X]/[ ] একটি চেকবক্স (মান 1 বা 0); (*)/( ) পূর্ববর্তী হেডিং লাইন অনুযায়ী রেডিও বাটনকে গ্রুপ করে, যার মান নির্বাচিত লেবেল টেক্সট।

  [X] Agree to terms
  Plan
  (*) Basic
  ( ) Premium

[ 5. বাটন ]

  সামনে কোনো লেবেল টেক্সট ছাড়া বর্গাকার বন্ধনী একটি বাটন; এর অ্যাকশন set() দিয়ে নিবন্ধন করুন।

  $tui->set('Register', sub { my $form = shift; save($form); 0 });
  [Register]

[ 6. কী-অপারেশন ]

  TAB/ডাউন অ্যারো পরবর্তী ফিল্ডে যায়, Shift-TAB/আপ অ্যারো পূর্ববর্তী ফিল্ডে। Enter, Space এবং অ্যারো কী ফিল্ড সম্পাদনা করে বা বাটন সক্রিয় করে; ESC ফর্ম বাতিল করে।

[ 7. ক্যারেক্টার এনকোডিং ]

  নন-Windows সিস্টেমে UTF-8 এবং Windows-এ Shift_JIS (CP932) স্বয়ংক্রিয়ভাবে শনাক্ত হয়; EUC-JP-ও সমর্থিত। TUI_HANDY_ENCODING দিয়ে ওভাররাইড করুন।

  $ENV{TUI_HANDY_ENCODING} = 'euc';   # utf8 / sjis / euc

[ 8. লাইন-মোড ফলব্যাক ]

  stty উপলব্ধ না থাকলে (খাঁটি Windows cmd.exe), স্বয়ংক্রিয়ভাবে একটি পোর্টেবল লাইন-মোড ড্রাইভার ব্যবহৃত হয়; TUI_HANDY_MODE দিয়ে মোড বাধ্যতামূলক করুন।

  $ENV{TUI_HANDY_MODE} = 'line';      # ansi / line

[ 9. কমান্ড লাইন ব্যবহার ]

  কোনো Perl কোড না লিখে সরাসরি একটি DSL ফাইল চালানো যায়।

  perl Handy.pm form.txt

[ 10. সম্পূর্ণ উদাহরণ ]

  সব উইজেট ধরন একত্রিত করা একটি সংক্ষিপ্ত DSL উদাহরণ।

  Registration
  Company: [__________]
  Age:     [###]
  [X] Agree to terms
  Plan
  (*) Basic
  ( ) Premium
  [Register]

[ 11. তথ্যসূত্র ]

  সম্পূর্ণ ডকুমেন্টেশন lib/TUI/Handy.pm-এর POD-এ আছে (perldoc TUI::Handy)। লেখক: INABA Hitoshi <ina.cpan@gmail.com>। লাইসেন্স: Perl-এর মতোই শর্তাবলী।
