Perlãåªãã¦ããåé - ruby, python, PHPã¨ã®æ¯è¼ãªã©ã
Perl
›
here
Perlã¯ä¾¿å©ãªãã©ã°ã©ãã³ã°è¨èªã§ãããã©ããªç¹å¾´ãããã®ã§ãããããPerlã¨ããããã°ã©ãã³ã°è¨èªã®ç¹å¾´ã«ã¤ãã¦è§£èª¬ãã¦ã¿ã¾ãã
1. Perlã®ç¹å¾´
Perlã¯ããã¹ãå¦çãå¾æãªã¹ã¯ãªããè¨èªã§ããæ°å¤ã¨æååã®èªåå¤ææ©è½ãå¼·åãª正規表現ãè¨èªã«çµã¿è¾¼ã¾ãã¦ãã¾ããå¦çé度ã¯Rubyãªã©ã®ã¹ã¯ãªããè¨èªã¨æ¯ã¹ã¦æ¯è¼çé«éã§ãã
1.1 ããã¹ãå¦çãç°¡åãé«éã«æ¸ãã
ããã¹ãç·¨éãè¡ãã¨ããç®çãªãPerlããã£ã¨ãããé¸æè¢ã«ãªãã§ãããããã·ã³ã®æ§è½ã«ããã¾ããæ°ç¾ä¸è¡ã®ããã¹ããã¡ã¤ã«ã§ãå®ç¨çãªæéã§å¦çãè¡ããã¨ãã§ããã¨æãã¾ãã
ã¾ãPerlã¯å©ç¨ã®ããããã»å®å®æ§ã¨ããç¹ã§ãä»ã®ã¹ã¯ãªããè¨èªãããåªãã¦ãã¾ããPerlã¯Unixç³»ãLinuxç³»ã®OSã«ã¯æ¨æºã§ã¤ã³ã¹ãã¼ã«ããã¦ãã¾ããWindowsã«Perlãã¤ã³ã¹ãã¼ã«ãããå ´åã«ãé£ããã¯ããã¾ããã
1.2 æé«ã¬ãã«ã®å¾æ¹äºææ§
ã¾ãPerlã®å®è£ ã¯è¯ãæå³ã§ãæªãæå³ã§ããã®ä¸ã«ã²ã¨ã¤ããåå¨ããªãã®ã§ãè¤æ°ã®å®è£ éã«åå¨ãããã°ã«æ©ã¾ãããå¿ è¦ãããã¾ããã
ã¾ãé常ã«é«ãã¬ãã«ã§å¾æ¹äºææ§ãç¶æããã¦ããã®ã§ãé·ãæéã«ããã£ã¦å®å®æ§ãæ±ãããããã¸ãã¹ç¨éã«åãã¦ãã¾ãã
Windowsã¸ã®ã¤ã³ã¹ãã¼ã«æ¹æ³ã«ã¤ãã¦ã¯ãActivePerlインストールするãã¨ããè¨äºãåèã«ãã¦ã¿ã¦ãã ããã
1.3 ã³ã³ãã¤ã«ããããªããããããåã
Perlã¯ã¹ã¯ãªããè¨èªã§ããJavaãCè¨èªã®ããã«ããã°ã©ã ãå®è¡ããã¨ãã«æåã§ã³ã³ãã¤ã«ä½æ¥ãè¡ãå¿ è¦ãããã¾ãããä½ã£ãã¹ã¯ãªããã¯ãã°ããå®è¡ãããã¨ãã§ãã¾ãã
ä½åº¦ãæ¸ãç´ãå¿ è¦ã®ããããã°ã©ã ã§ã¯ããã¯å¤§ããªæ©æµã ã¨æãããã¨ã§ããããããã°ã©ã ã«éä¸ã§ããã®ã¯ã¨ã¦ããããã¨ã§ãã
1.4 ç¡æã®CPANã¢ã¸ã¥ã¼ã«ããããã
ã¾ãPerlã¯ç¾ä»£çãªããã°ã©ã è¨èªã®ã²ã¨ã¤ã§ããã¢ã¸ã¥ã¼ã«ã¨ããæ©è½ãå©ç¨ãã¦ãããããã®ãã¨ãè¡ããã¨ãã§ãã¾ãã
CPANã¨å¼ã°ããã ãã§ãç¡æã§å©ç¨ã§ããè±å¯ãªã©ã¤ãã©ãªãããã®ã§ãPerlã使ãããã¨ãã人ããããããã§ããPerlã¯ã¢ã¸ã¥ã¼ã«ã®ããã±ã¼ã¸ã³ã°ããã¹ããé常ã«è¡ããããç°å¢ãæ´ã£ã¦ããã®ã§ãæ¯è¼çå¤ãè¨èªã«ãããããããã¾ã ã«éçºã¯æ´»çºã§ãã
1.5 ãããã§ãããããã表ç¾
ã¾ãPerlã¯ãããã«ã½ã¼ã¹ã³ã¼ããæ¸ããã¨ãã§ããè¨èªã®ã²ã¨ã¤ã§ããPerlã¯æ¯è¼çå¤ãè¨èªã§ãã®ã§ãå¤ããããã¯ã¨ããã©ããã«ã¯æ®ã£ã¦ãã¾ãããããã°ã©ã ã®æ§é ã«ã¤ãã¦ããã°ãã¨ã¦ãããããããè¨è¿°ãããã¨ãã§ãã¾ããæ¸ãæ¹ã«æ £ãã¦ãã¾ãã°ãè¨èªã¨ãã¦èªç¶ãªè¡¨ç¾ãã§ããã¨ãããPerlã®ããã¨ããã§ãã
Perlãé¸æããã¨ãã®ãã¤ã³ãã¯ã
- ãããã¹ãå¦çããå¾æãå¦çé度ã¯ãé«éã
- ãã¤ã³ã¹ãã¼ã«ãã¯ç°¡åãé«ããå¾æ¹äºææ§ãã®ç¶æ
- ãã³ã³ãã¤ã«ãä½æ¥ããå¿ è¦ãªãããã°ããå®è¡ã§ãã
- ãç¾ä»£çããªå¼·åãªããã°ã©ãã³ã°è¨èª
- ããã°ã©ã ã®æ§é ããç¾ãããè¨è¿°ã§ãã
2. Perlããå§ããªã®ã¯ãããªäºº
Perlã¯PythonãRubyãªã©ã®ã¹ã¯ãªããè¨èªã®ä»²éã§ããããã°ã©ãã³ã°ã§å¯è½ãªãã¨ã«é¢ãã¦ã¯3ã¤ã®è¨èªã§ã»ã¨ãã©å·®ã¯ããã¾ããããæ°è»½ã«ããçã¡ã¢ãªã§ããå¤ãã®ç°å¢ã§å©ç¨ã§ãããå®è£ ãå®å®ãã¦ãã¦ããããã¹ãå¦çã®ããã©ã¼ãã³ã¹ããããã®ãPerlã®ç¹å¾´ã ã¨ããã¾ããã¾ãææ³ã¯Cè¨èªãJavaãPHPãJavaScriptã«ä¼¼ã¦ããã®ã§ãè¦ããã®ãæ¯è¼ç容æã§ããã¨ããã¾ããå©ç¨ãã¦ã¿ãã¨ããã©ã¼ãã³ã¹é¢ãæ©è½ãè¨è¿°ã®ãããããªã©ã®ãã©ã³ã¹ãã¨ã¦ãåãã¦ããè¨èªã§ãããã¨ãç解ãã¦ããããã¨æãã¾ããã©ãã使ã£ã¦ã¿ã¦ãã ããã
Pythonã¨Rubyã¨æ¯è¼ããæ大ã®Perlã®å©ç¹ã¯ãå¾æ¹äºææ§ã®é常ã«é«ãè¨èªãªã®ã§ãä»äºã§å©ç¨ããã«ã¯å®å¿ãã¦ä½¿ããã¨ããã¨ããã§ããPerlは後方互換性を維持するスクリプト言語ãåèã«ãã¦ã¿ãã ããã
ã¾ãPerlã¯Rubyãããããã¹ãå¦çã®ããã©ã¼ãã³ã¹ã2ã3åãããã¯éãã¨ããã®ããæè¦ã¨ãã¦ããã¾ããã¾ãPerlã®ã»ããçã¡ã¢ãªã§åãã¾ãã(Perl 5.12.2とRuby 1.9.1 Windows上でのテキスト処理のパフォーマンス比較, ベンチマークゲームというサイトでの比較)
ã¾ãPHPãnode.jsãªã©ã¨åãããã«ãµã¼ãã¼ãµã¤ãã§Webã¢ããªã±ã¼ã·ã§ã³ãä½æããã¨ãã«ããããã«ä¾¿å©ã«å©ç¨ã§ãã¾ããCPANã«ããã©ã¤ãã©ãªãå©ç¨ããã°ãéçºå¹çã¯ã¨ã¦ãé«ããã®ã«ãªãã¾ãã
iPhoneã§Objective Cã使ã£ã¦ãã¤ãã£ããªã¢ããªãéçºããã¦ããæ¹ã¯ãHTML5ã使ã£ã¦Webã¢ããªã±ã¼ã·ã§ã³ãä½æãããã¨ã«ãææ¦ãã¦ã¿ããã¨æãã¨æãã¾ãããããªã¨ããPerlãå½¹ç«ã¡ã¾ãã(Webアプリケーションはこちらで解説)
Perlã«é¢ããããããFAQã«é¢ãã¦ã¯こちらãåèã«ãã¦ã¿ã¦ãã ããã
- æ¥å¸¸çãªæ¥åãèªååãããã¨èãã¦ããæ¹
- JavaãCãC++ãC#ãªã©ã®éçè¨èªãè¦ããã®ã§ã次ã«åçè¨èªãå¦ç¿ãããæ¹
- Excelã®VBAãè¦ããã®ã§ãããã²ã¨ã¤ä½¿ããããè¨èªãè¦ãã¦ã¿ããæ¹
- iPhoneã§Objective-Cã使ã£ã¦éçºãã¦ãã¦ã次ã«HTML5ã使ã£ãWebã¢ããªãä½æãããæ¹
- PHPãè¦ãã¦Webããã°ã©ãã³ã°ãã§ãããã«ãªã£ãã®ã§ã次ã«æ±ç¨çãªè¨èªãè¦ãããæ¹
- bashãcshãªã©ã®ã·ã§ã«ã§æååå¦çãè¡ãã®ã大å¤ã ã¨æã£ãæ¹
- awkãsedã«ããããã¹ãå¦çã«éçãæãã¦ããæ¹
- python2ã¨python3ã®äºææ§ã«æ©ãã§ããæ¹
- rubyã§ããã¹ãå¦çãè¡ã£ã¦ãã¦ããéãããã©ã¼ãã³ã¹ãå®å®æ§ãå¿ è¦ã¨æãã¦ããæ¹
- node.jsãªã©ã®ãµã¼ãã¼ãµã¤ãjavascriptãè¦ããããã便å©ãªã¹ã¯ãªããè¨èªãæ¢ãã¦ããæ¹
ãµã³ãã«ã³ã¼ãã«ããPerlå ¥éã«ã¤ãã¦
ãã®ãµã¤ãã¯ãµã³ãã«ã³ã¼ããä¸å¿ã«ããPerlã®å ¥éãµã¤ãã§ããééãã®å°ãªããå©ç¨ãã¦ããããããPerlã®ããã¥ã¡ã³ããæ¸ããã¨ãç®æ¨ã«ãã¦ãã¾ãããµã³ãã«ã³ã¼ãã«ããPerlå ¥éã«ã¯ä»ã®Perlã®è§£èª¬ãµã¤ãã«ãªãããã¤ãã®ç¹å¾´ãããã¾ãã
1. ç¾ä»£çãªPerlã§è¨è¿°ããã¦ãã¾ã
ãã®ãµã¤ãã«ããã½ã¼ã¹ã³ã¼ãã¯ç¾ä»£çãªPerlã®è¨è¿°æ¹æ³ã«å¾ã£ã¦æ¸ããã¦ãã¾ããå¤ããããããµã¤ãã§ã¯ãã¾ã ã«Perl4ã®è¨è¿°ãç´¹ä»ããã¦ãã¾ããããã®ãµã¤ãã«ã¯Perl4ã®è¨è¿°ã¯ããã¾ãããä»ããPerlãè¦ããã®ã§ããã°ãã²ãç¾ä»£çãªè¨è¿°æ¹æ³ã§Perlãè¦ãã¦ãã ããããã®ãµã¤ãã«ããã½ã¼ã¹ã³ã¼ããã¾ãããã°ãç¾ä»£çãªããæ¸ãæ¹ããã°ãããã¹ã¿ã¼ãããã¨ãã§ãã¾ãã
æåã«æ¬¡ã®äºã¤ã®ã³ã³ãã³ããèªãã§ã¿ããã¨ããå§ããã¾ããPerlã®åºæ¬ææ³ã¨ç¾ä»£çãªè¨è¿°æ¹æ³ãè¦ãããã¨ãã§ãã¾ãã
2. ãµã³ãã«ãè±å¯ã§ã
ãã®ãµã¤ãã®è¨äºã®å¤ãã¯ããç°¡åãªãµã³ãã«ã«ç°¡åãªè§£èª¬ãã¤ããã¨ããæ¹æ³ã§æ¸ããã¦ãã¾ãã詳細ãªè§£èª¬ã¯æ¬è³ªãç解ããã人ã«ã¨ã£ã¦ã¯æç¨ãªãã®ã§ãããå®ç¨çã«ä½¿ããã人ã«ã¨ã£ã¦ã¯å°ãä¸ä¾¿ã§ããPerlãè¿·ããç°¡åã«å©ç¨ãããã¨ãã§ããããã«ãç°¡åãªãµã³ãã«ã¨è§£èª¬ããããããããã¦ãã¾ãã
3. æç¨ãªæ å ±ãéç´ããã¦ãã¾ã
ãã®ãµã¤ãã¯æç¨ãªæ å ±ãéããã¨ãããã¨ãã²ã¨ã¤ã®ç®æ¨ã«ãã¦ãã¾ããåºæ¬çãªææ³ãè¦ããå¾ã¯ãæ¨æºé¢æ°ãæ¨æºã¢ã¸ã¥ã¼ã«ãè¦ããã®ãä¸éããä¸çªã®æ©ãéã§ãããã®ãµã¤ãã§ã«ã¯ãæ£è¦è¡¨ç¾ãæ¨æºé¢æ°ãæ¨æºã¢ã¸ã¥ã¼ã«ãªã©ã®ä½¿ãæ¹ã«ã¤ãã¦ãããããã®è§£èª¬ãããã¾ãã
ãµã³ãã«ã³ã¼ãã«ããPerlå
¥éã®ç¹å¾´ã¯
- ç¾ä»£çãªPerlã§è¨è¿°ããã¦ãã
- ãµã³ãã«ãè±å¯
- æ£è¦è¡¨ç¾ãæ¨æºé¢æ°ãæ¨æºã¢ã¸ã¥ã¼ã«ãªã©ã®è§£èª¬ãè±å¯
ãµã³ãã«ã³ã¼ãã«ããPerlå ¥éãèªãã«ããã£ã¦
ç¾ä»£çãªPerlã§ã¯ã½ã¼ã¹ã³ã¼ãã®å é ã«
use strict; use warnings;
ãè¨è¿°ããã¨ããç´æäºãããã¾ãããã®ãµã¤ãã®ãµã³ãã«ã«ã¤ãã¦ããã°ãã®strictã¨warningsã®è¨è¿°ãåå¨ããªããã®ãããã¾ããããã¯è§£èª¬ããã¨ãã«è¨è¿°ããªãã»ããè¦ãããã¨å¤æããå ´åã«è¡ã£ã¦ãã¾ããçãããæ¸ãã³ã¼ãã«ã¯strictã¨warningsãå¿ ãæ¸ãã¦ãã ããã
Perl6ã«ã¤ãã¦
Perl6ã¯Perl5ã¨ç°ãªãããã¸ã§ã¯ãã¨ãã¦éçºãç¶ç¶ããã¦ããè¨èªã§ããå§ãã¦èã人ã¯Perl6ã¯Perl5ã®å¾ç¶ã ã¨èããã¨æãããããããã¾ããããPerl6ã®ç¾å¨ã®ä½ç½®ã¥ãã¯ç¾å¨ã§ã¯ãã®ãããªãã®ã§ã¯ãªããªã£ã¦ãã¾ãã¾ãããPerl6ã¯Perl5ã¨ã¯å¥ã®è¨èªã§ãããPerl5ã®å§å¦¹çãªä½ç½®ã¥ãã¨ãªã£ã¦ãã¾ããPerl6ã¯ç¾æ®µéã§ã¯ãéçºéä¸ã®è¨èªã§ãã
Perl5ã®éçºãç¶ãã¦æ¬²ããã¨ããè¦æã¯ããããã®å ´æã§åå¨ããã®ã§ãPerl5ã®éçºã¯ä»ã§ãæ´»çºã§ããã¾ãPerl5ã¯éå»ã®è³ç£ã大äºã«ããã¨ããæ¹éã§éçºãè¡ããããããä»ã®ã¹ã¯ãªããè¨èªãå«ãã¦æãå®å¿ãã¦å©ç¨ã§ããã¹ã¯ãªããè¨èªã«ãªã£ã¦ãã¾ãã
çµã³ã«
ããã¾ã§é·ããªãã¾ããããPerlãå¦ç¿ãã¦ãPerlã楽ããã§ãPerlã使ã£ã¦ä»äºã楽ã«ãã¦ããããã°ãµã¤ãéå¶è ã¨ãã¦å¹¸ãã§ããPerlããã°ããç¿å¾ãããã¨ããæ¹ããPerlã®ãµã³ãã«ãããããè¦ããã¨ããæ¹ã«ãã²ããµã³ãã«ã³ã¼ãã«ããPerlå ¥éããæãã¦ããã¦ãã ããã