1. Perlãšã¯
Perlã¯ãè±å¯ãªããã¹ãåŠçæ©èœãšãã¯ãã«ãªæ£èŠè¡šçŸåŠçæ©èœãæã€ãé«æ°Žæºãªããã°ã©ãã³ã°èšèªã§ããäž»ã«ãã·ã¹ãã 管ççšã®ã¹ã¯ãªããäœæãWebããã°ã©ãã³ã°ã®åéã§éå®ãããŠããŸãã
Perlã¯äœ¿ãããããšæè»æ§ãå ŒãåããŠããã人ã ãããã°ã©ãã³ã°ãå§ããéã«é »ç¹ã«éžã°ããèšèªã®äžã€ã§ããããŸãã
ãªããPerlã¯ãªãŒãã³ãœãŒã¹ã§ããã誰ã§ãç¡æã§ããŠã³ããŒãããŠäœ¿çšããããšãã§ããŸãã
1.1 Perlã®éçºèæ¯ãšãã®ç¹åŸŽ
Perlã¯ã1987幎ã«ã©ãªãŒã»ãŠã©ãŒã«ã«ãã£ãŠéçºãããŸããããã®ç®çã¯ãããã°ã©ã ã®éçºãããå¹ççã§ãåæã«æ¥œãããªãããšã§ããã
ãŸããPerlã®å€§ããªç¹åŸŽã¯ãCèšèªãUnixã·ã§ã«ã¹ã¯ãªãããAwkãªã©ãšãã£ãè€æ°ã®ããã°ã©ãã³ã°ã®èšèªçç¹æ§ã䜵ãæã€ç¹ã«ãããŸããããã«ãããPerlã¯éåžžã«é«ãæè»æ§ãšæ¡åŒµæ§ãæã€ããšãã§ããŸããã
ãã®ä»ãè±å¯ãªæååæäœæ©èœãåããç¹ããæ£èŠè¡šçŸã®åŠçèœåã®é«ãããããŠè±å¯ãªCPANïŒComprehensive Perl Archive NetworkïŒããã®ã¢ãžã¥ãŒã«æäŸãPerlã®å€§ããªç¹åŸŽãšèšããŸãã
1.2 Perlã®çšéãšæ¥çã§ã®äººæ°
Perlã¯ããã®æè»æ§ãšåŒ·åãªããã¹ãåŠçèœåããŸãCPANããã®ãµãŒãããŒãã£ã¢ãžã¥ãŒã«æäŸãšãã£ãç¹æ§ã掻ãããŠããŠã§ãã¹ã¯ãªããã£ã³ã°ãã·ã¹ãã 管çãããŒã¿è§£æãªã©å¹ åºãé åã§æŽ»çšãããŠããŸãã
ç¹ã«ãã·ã¹ãã 管çã®é åã§ã¯ãPerlã¯ã¹ã¯ãªãããã·ã³ãã«ãã€å¹ççã«äœæã§ãããããçŸåšã§ãå€ãã®ç®¡çè ã«æ¯æãåããŠããŸãããŸããCPANã®ååšã«ãããå€æ°ã®ããã°ã©ãã³ã°èª²é¡ã«å¯Ÿãã解決çãç°¡åã«å°å ¥ããããšãå¯èœãšãªã£ãŠããŸãã
ãŠã§ãéçºè ã«ãšã£ãŠã¯ãPerlã®æ£èŠè¡šçŸãããã¹ãæäœæ©èœã¯ããŠã§ãããŒãžã®ããŒã¿æœåºãã¹ã¯ã¬ã€ãã³ã°ãªã©ã«å€§å€äŸ¿å©ã§ãã
1.3 Perlãšç«¶åããä»ã®ããã°ã©ãã³ã°èšèªã®æ¯èŒ
Perlã®ç«¶åãšãªãåŸãèšèªã«ã¯ãPythonãRubyãPHPãªã©ããããŸãããããã®èšèªãPerlãšåæ§ãããã°ã©ãã³ã°ã®äžéšé åã«ãããŠã¯é«ãè©äŸ¡ãåããŠããŸãã
äžæ¹ãPerlãšãããã®èšèªãæ¯èŒããå ŽåãPerlã¯ä»¥äžã®ãããªç¬èªã®åŒ·ã¿ãæã£ãŠããŸããããªãã¡ãè±å¯ãªCPANã¢ãžã¥ãŒã«ã®æäŸãæ¯é¡ãªãããã¹ãåŠçæ©èœããããŠæ£èŠè¡šçŸåŠçèœåã®é«ãã§ãã
ãããã®èšèªããããã«ã¯ç¹æ§ãé·æããããŸãããPerlã®ãããã®ç¹æ§ã¯ãäŸç¶ãšããŠç¹å®ã®åéã§ãŠããŒã¯ãªäŸ¡å€ãæäŸãç¶ããŠããŸãã
1.4 PerlãåŠã¶ãå§ãã®ãªãœãŒã¹
PerlãåŠã³ãããšæã£ããšãããŸãåç §ãã¹ãã¯å ¬åŒããã¥ã¡ã³ãã§ããPerlã®å ¬åŒãµã€ãã¯è±å¯ãªæ å ±ãæäŸããŠããããŸããææ°ã®æŽæ°æ å ±ãšå ±ã«ãåºæ¬çãªããã°ã©ãã³ã°ç¥èãæã«å ¥ããããšãã§ããŸãã
ãŸããããã¹ãããã¥ãŒããªã¢ã«ãå®è·µçãªã³ãŒã¹ãéããŠPerlãåŠã¶ããšãå¯èœãªãŠã§ããµã€ããå€ãååšããŸããããšãã°ãPerlã®MOOCïŒMassive Open Online CoursesïŒãããããã£ã¹ããã¹ã©ã€ããªã©ããåå¿è ã«åœ¹ç«ã€ãªãœãŒã¹ãšãªã£ãŠããŸãã
æåŸã«ãPerlã®ã³ãã¥ããã£ãéåžžã«æŽ»çºã§ãåã趣å³ãå ±æããããã°ã©ããŒãã¡ãšã®äº€æµãéããŠãPerlã®ç¥èãæ·±ãããã£ã³ã¹ããããŸãã
2. ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬æŠå¿µ
ãã¬ãŒã ã¯ãŒã¯ãšããçšèªã¯æ¥ã ã®éçºäœæ¥ã«ãããŠããåºãŠããèšèã§ãããå®éã«ãã®å®çŸ©ãæ©èœããããŠãã®å©ç¹ãšãã£ãèŠçŽ ã«ã€ããŠç解ããŠãã人ã¯äžäœã©ããããããã®ã§ããããã
ããã§ã¯ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬æŠå¿µãããPerlãšãã¬ãŒã ã¯ãŒã¯ã®æ·±ãé¢ä¿æ§ããããŠPerlã§ãã䜿ããããã¬ãŒã ã¯ãŒã¯ã®å ·äœçãªäŸã«ã€ããŠãããããã解説ããŸãã
2.1 ãã¬ãŒã ã¯ãŒã¯ãšã¯äœã
ãã¬ãŒã ã¯ãŒã¯ãšã¯ãããåé¡ã解決ããããã®ãæ çµã¿ãã§ãåå©çšå¯èœãªéšåã®éåäœã§ããããã¯ããçš®ã®ãæš¡ç¯è§£çãã§ãç¹å®ã®åé¡ã«å¯ŸããŠæãçæ³çãªæ§é ãèšèšã瀺ããŠãããŸãã
ãã¬ãŒã ã¯ãŒã¯ã¯äžè¬ã«äœ¿çšããèšèªãéçºç°å¢ã«äŸåããŸããã€ãŸããPythonãJavaãPerlãªã©ã®èšèªã¯ããããç¬èªã®ãã¬ãŒã ã¯ãŒã¯ãæã£ãŠããŸãã
ãã¬ãŒã ã¯ãŒã¯ã¯ãéçºãããã«ã¹ããŒãã£ãŒã«é²è¡ãããå質åäžãã¡ã³ããã³ã¹æ§åäžã«å¯äžããããšãã§ããŸãã
2.2 ãã¬ãŒã ã¯ãŒã¯ã®æ©èœãšå©ç¹
ãã¬ãŒã ã¯ãŒã¯ã«ã¯æ§ã ãªæ©èœãåãã£ãŠããŸããã³ãŒãã£ã³ã°ã®æš¡ç¯è§£çæäŸãéçºæéã®ççž®ãå質åäžãä¿å®æ§ã®åäžãªã©ãæ§ã ãªã¡ãªããããããŸãã
ç¹ã«Webéçºã«ãããŠã¯ãããŒã¿ããŒã¹ãšã®ã€ã³ã¿ãŒãã§ã€ã¹ãã»ãã·ã§ã³ç®¡çãURLã«ãŒãã£ã³ã°ãªã©ã®äžè¬çãªã¿ã¹ã¯ãå¹ççã«éçšããããã®ãã¬ãŒã ã¯ãŒã¯ãååšããŸãã
ãã¬ãŒã ã¯ãŒã¯ã®å©ç¹ã¯æ°å€ããæéãšåŽåã®ç¯çŽãšãã£ãéçºã®çç£æ§åäžãããçµæçã«å質ã®é«ããããã¯ããæäŸã§ããå¯èœæ§ããããšããç¹ã«ãããŸãã
2.3 Perlãšãã¬ãŒã ã¯ãŒã¯ã®é¢ä¿
Perlã¯åŒ·åãªã¹ã¯ãªããèšèªã§ããã®ç¹æ§ã¯ãã¬ãŒã ã¯ãŒã¯ã掻çšããã®ã«éåžžã«é©ããŠããŸããããã¹ãåŠçèœåã®é«ããšæè»æ§ããWEBéçºãšããã³ã³ããã¹ãã§ã®ãã¬ãŒã ã¯ãŒã¯ã®æŽ»çšã«åããŠããŸãã
Perlã«ã¯è±å¯ãªãã¬ãŒã ã¯ãŒã¯ãååšãããããããç¹å®ã®çšéãããŒãºã«åãããŠèšèšãããŠããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯éçºè ãããè¿ éã«ããããŠçµç¹çã«ä»äºãããªãã®ã«åœ¹ç«ã¡ãŸãã
çµè«ããèšãã°ãPerlãšãã¬ãŒã ã¯ãŒã¯ã¯ãããããäºãã®é·æã掻ããåããããè¯ããœãããŠã§ã¢éçºã®å®çŸãæå©ãããéèŠãªããŒãããŒã§ãã
2.4 Perlã§ãã䜿çšããããã¬ãŒã ã¯ãŒã¯ã®å ·äœçãªäŸ
Perlã§ãã䜿çšããããã¬ãŒã ã¯ãŒã¯ã«ã¯ããMojoliciousãããDancerããªã©ããããŸãããMojoliciousãã¯ãªã¢ã«ã¿ã€ã Webã¢ããªã±ãŒã·ã§ã³ã®éçºã«åœ¹ç«ã¡ããDancerãã¯ç¹ã«ã·ã³ãã«ãªèšèšãæ±ããããæã«äŸ¿å©ã§ãã
ãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãPerlã®å匷ããšæè»æ§ã掻ããã€ã€ãéçºè ããã®æ©èœãå©ç¹ãæ倧éã«åŒãåºãããã®æç¶ããšãã¿ãŒã³ãæäŸããŸãã
åãã¬ãŒã ã¯ãŒã¯ã¯ãã®çšéãç¹æ§ããããŠæäŸããæ©èœã«å¿ããŠéžã¶å¿ èŠããããŸãããããã£ãŠãPerlã®ãã¬ãŒã ã¯ãŒã¯éžã³ã¯éçºç®æšãšèŠä»¶ã«ãã£ãŠæ±ºå®ãããŸãã
3. Perlãã¬ãŒã ã¯ãŒã¯å ¥é
Perlãã¬ãŒã ã¯ãŒã¯ãšäžèšã§èšã£ãŠããã®ããªãšãŒã·ã§ã³ã¯å€ãããã®äœ¿çšæ¹æ³ãããŒãºã«ããéžã¶ã¹ããã¬ãŒã ã¯ãŒã¯ã¯å€ãã£ãŠããŸãããããPerlãã¬ãŒã ã¯ãŒã¯ã®å ±éããå©ç¹ãšããŠã¯ãé«åºŠãªæ©èœãçååãå®å šæ§ã®åäžãªã©ãæããããŸãã
ãã®ç« ã§ã¯ãPerlãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠããã®ã€ã³ã¹ããŒã«æ¹æ³ããåºæ¬çãªäœ¿çšæ³ã泚æç¹ããããŠã³ãŒãæ¹åæ¹æ³ãŸã§ã解説ããŸããPerlãæ±ãéã®äžå©ãšãªãã°å¹žãã§ãã
äžç·ã«Perlãã¬ãŒã ã¯ãŒã¯ãç解ããããè¯ããœãããŠã§ã¢éçºã«æŽ»çšããŠã¿ãŸãããã
3.1 Perlãã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«æ¹æ³
Perlãã¬ãŒã ã¯ãŒã¯ã¯å€çš®å€æ§ã§ããããã®ã€ã³ã¹ããŒã«æ¹æ³ã«å€§ããªéãã¯ãããŸãããäžè¬çã«CPANããããŠã³ããŒãããã³ãã³ãã©ã€ã³ã§ã€ã³ã¹ããŒã«ããŸãã
CPAN (Comprehensive Perl Archive Network)ã¯ãPerlã¢ãžã¥ãŒã«ã®é åžããªããžããªãšããŠåºã䜿ãããŠããŸããã¢ãžã¥ãŒã«ã®å称ã«å¿ããæ£ç¢ºãªããŠã³ããŒããšã€ã³ã¹ããŒã«ã³ãã³ããçšããŸãã
ãã ããäºææ§ã®åé¡çã§ãšã©ãŒãçºçããããšããããããããã¥ã¡ã³ããŒã·ã§ã³ã®ãã§ãã¯ãšã€ã³ã¹ããŒã«æã®ãšã©ãŒã¡ãã»ãŒãžã«æ³šæããªããé²ããããšãããããããŸãã
3.2 Perlãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªäœ¿çšæ³
ã»ãšãã©ã®Perlãã¬ãŒã ã¯ãŒã¯ã«ã¯ãç¹å®ã®æ©èœãæäŸããã¢ãžã¥ãŒã«ãå«ãŸããŠããŸãããããã¯èªèº«ã®ãããžã§ã¯ãã«ã€ã³ããŒãããŠäœ¿çšããŸãã
ãªããåãã¬ãŒã ã¯ãŒã¯ã«ã¯ç¬èªã®åœåèŠåãæ§é ããããŸãã®ã§ãåã ã®ããã¥ã¢ã«ã確èªããªããé²ããŠãã ããã
ãŸãããªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãã¢ã¯ãã£ããªã³ãã¥ããã£ãååšããŠããŠãå®éã®äœ¿çšæ¹æ³ãå©èšãæ±ããããšãå¯èœã§ãããããã®è³æºã掻çšããããšã§ãæ¥éã«ã¹ãã«ãåäžãããããšãã§ããŸãã
3.3 Perlãã¬ãŒã ã¯ãŒã¯ã䜿çšããéã®æ³šæç¹
ãã¬ãŒã ã¯ãŒã¯ã®äœ¿ãæ¹ã誀ããšãæåŸ ããããã©ãŒãã³ã¹ãåŸãããªãããšããããŸãããã®ããã«ã¯ãè¯ã䜿ããããã¹ããã©ã¯ãã£ã¹ãç解ããããã«åŸã£ãŠäœ¿çšããããšãéèŠã§ãã
ãŸããPerlãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãã«ã¯ãäŸåæ§ã®åé¡ãèæ ®ããå¿ èŠããããŸãããã¬ãŒã ã¯ãŒã¯ãç¬ç«ããã¢ãžã¥ãŒã«ãã¢ããããŒãããå Žåãäºææ§ã®åé¡ãçºçããé »ç¹ã«ãšã©ãŒã«èŠèãããå¯èœæ§ããããŸãã
ãšã©ãŒãçºçããéã¯ããŸããšã©ãŒã¡ãã»ãŒãžã確èªããããšã§ããäœãåé¡ãªã®ããã©ã®éšåã§ãšã©ãŒãçºçããŠããã®ããåããã°ã解決ã«åãã第äžæ©ãšãªããŸãã
3.4 Perlãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠã³ãŒããæ¹åããæ¹æ³
Perlãã¬ãŒã ã¯ãŒã¯ã¯ã³ãŒãã®æŽçãšåå©çšã容æã«ããŸããã¢ãžã¥ãŒã«ã®äœ¿çšã«ããã³ãŒãã®åé·æ§ãæžãããã¡ã³ããã³ã¹æ§ãåäžãããããšãå¯èœã§ãã
ãªãã¡ã¯ã¿ãªã³ã°ããŸããPerlãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠæ¹åã§ããé åã®äžã€ã§ãããã¬ãŒã ã¯ãŒã¯ãæäŸããåçš®ãŠãŒãã£ãªãã£ã䜿çšããããšã§ãè€éãªã³ãŒããåçŽã§èªã¿ãããã³ãŒãã«å€æã§ããŸãã
ãŸãããã¹ãã容æã«è¡ããŸããPerlãã¬ãŒã ã¯ãŒã¯ã¯åäœãã¹ããçµ±åãã¹ãã®ãŠãŒãã£ãªãã£ãæäŸãããã®ãå€ããããããã掻çšããããšã§å質ãä¿ã¡ã€ã€éçºã¹ããŒããåäžãããããšãå¯èœã§ãã
4. Perlãã¬ãŒã ã¯ãŒã¯ã®å¿çšäºäŸ
Perlãã¬ãŒã ã¯ãŒã¯ã¯ãšã³ãžãã¢ãªã³ã°é åã§å€å²ã«ãããã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿããå¹ççãªéçºãæäŸããŸãã以äžã«ãå ·äœçãªå¿çšäºäŸãæããŸãã
4.1 Webéçºã§ã®Perlãã¬ãŒã ã¯ãŒã¯ã®äœ¿çšäºäŸ
Perlãã¬ãŒã ã¯ãŒã¯ã¯ãWebéçºã®å€æ§ãªå±é¢ã§æŽ»çšãããŠããŸããäŸãã°ãMojoliciousãšããPerlãã¬ãŒã ã¯ãŒã¯ã¯ããªã¢ã«ã¿ã€ã Webã¢ããªã±ãŒã·ã§ã³ã®éçºã«ãããŠå€§ãã«åœ¹ç«ã€ãã¬ãŒã ã¯ãŒã¯ã§ãã
å ããŠãCatalystïŒPerlçšMVCãã¬ãŒã ã¯ãŒã¯ïŒã¯ãè€éãªWebã¢ããªã±ãŒã·ã§ã³ãå¹ççã«éçºã§ãããããè©äŸ¡ãé«ãã§ãã
ãããã®ãã¬ãŒã ã¯ãŒã¯ãå©çšããããšã§ãéçºæéã®ççž®ãšå質ã®åäžãå®çŸããŸãã
4.2 ããŒã¿è§£æã§ã®Perlãã¬ãŒã ã¯ãŒã¯ã®äœ¿çšäºäŸ
Perlãã¬ãŒã ã¯ãŒã¯ã¯ãããŒã¿è§£æã®é åã«ãããŠã掻çšãããŠããŸããBioPerlã¯ããã€ãªã€ã³ãã©ããã£ã¯ã¹ïŒçç©æ å ±åŠïŒã®ããŒã¿è§£æã«äœ¿çšãããPerlãã¬ãŒã ã¯ãŒã¯ã§ãã
ãŸããPDLïŒPerl Data LanguageïŒã¯ãPerlã®é«æ§èœç§åŠèšç®ã»ã°ã©ãçæã©ã€ãã©ãªã§ã倧éã®ããŒã¿ã®æäœã»è§£æãå¹ççã«è¡ããŸãã
ãããã®ãã¬ãŒã ã¯ãŒã¯ã掻çšããããšã§ãããé«åºŠã§è€éãªããŒã¿è§£æãå¯èœã«ããŸãã
4.3 ã·ã¹ãã 管çã§ã®Perlãã¬ãŒã ã¯ãŒã¯ã®äœ¿çšäºäŸ
ã·ã¹ãã 管çã®é åã«ãããŠããPerlãã¬ãŒã ã¯ãŒã¯ã¯éèŠãªåœ¹å²ãæãããŠããŸããRexã¯ãPerlã§äœãããã¯ã©ãŠãããŒã¹ã®ã€ã³ãã©ã¹ãã©ã¯ãã£å±éããŒã«ã§ãé éããã®ã·ã¹ãã 管çãæ¯æŽããŸãã
ãã以å€ã«ããPerl::Criticã¯ãPerlã³ãŒãã®å質ããŒã«ãæäŸããããApp::Ackã¯ãã³ãŒããããã¹ããã¡ã€ã«ãçŽ æ©ãæ€çŽ¢ãããããããã®ãã¬ãŒã ã¯ãŒã¯ã§ãã
ãããã掻çšããããšã§ãå¹ççãªã·ã¹ãã 管çãšéçšãå®çŸããŸãã
4.4 ITæ¥çã§Perlãã¬ãŒã ã¯ãŒã¯ãã©ã®ããã«äœ¿ãããŠããã
Perlãã¬ãŒã ã¯ãŒã¯ã¯ITæ¥çã«ãããŠå€å²ã«æž¡ãé åã§æŽ»çšãããŠããããã®ãã¬ãã·ãã«ãªæ§è³ªããå€ãã®å°é家ã«ãšã£ãŠå¿ é ã®ããŒã«ãšãªã£ãŠããŸãã
ããã¯åè¿°ã®WebéçºãããŒã¿è§£æãã·ã¹ãã 管çã®äºäŸã ãã§ãªãããããã¯ãŒã¯ããã°ã©ãã³ã°ããã¹ããªãŒãã¡ãŒã·ã§ã³ã«ãããŠãåæ§ã§ãã
Perlãã¬ãŒã ã¯ãŒã¯ã®æŽç·Žãããèšèšãšæ¡åŒµæ§ãå©çšããããšã§ããšã³ãžãã¢ã¯ã³ãŒããããçããå¹ççã§ãä¿å®æ§ã®é«ããã®ã«å€ããããšãã§ããŸãã
5. Perlãã¬ãŒã ã¯ãŒã¯ã®éžæã¬ã€ã
Perlãã¬ãŒã ã¯ãŒã¯ã¯ãè¥å€§åããã³ãŒããæŽçããæœè±¡åããããã®åŒ·åãªããŒã«ã§ãããããããã®å€æ§ãªéžæè¢ã®äžããäžäœã©ããéžãã§ãã©ã®ããã«äœ¿çšããã°è¯ãã®ã§ãããããæ¬ç« ã§ã¯ãããªããæäŸãããµãŒãã¹ãããžãã¹ã®ããŒãºã«åºã¥ããŠãæé©ãªPerlãã¬ãŒã ã¯ãŒã¯ãéžã¶ããã®ã¬ã€ããæäŸããŸãã
ãŸãéèŠãªããšã¯ãéçºè èªèº«ã®ã¹ãã«ã»ãããšããã®ãããžã§ã¯ãã®ç¹æ§ã«ãã£ãŠãã¬ãŒã ã¯ãŒã¯ãéžå®ããããšã§ããããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãç¹å®ã®ç®çãåé¡è§£æ±ºã®ããã«èšèšãããŠããããã®ç¹æ§ã«ãã£ãŠæé©ãªå Žé¢ãå€ããã®ã§ãã
ãŸãããã¬ãŒã ã¯ãŒã¯ã®äžã«ã¯ç¬èªã®æ©èœãç¹æ§ãåããŠãããã®ãããããããããã®ç¹æ§ãç解ããå¿ èŠãªæ©èœãèæ ®ã«å ¥ããããšãéèŠã§ããããšãã°ãå°èŠæš¡ãªãŠã§ãã¢ããªéçºã«ãããŠã¯è»œéãªãã¬ãŒã ã¯ãŒã¯ãéžã¶ããšãæãŸããã§ãããã
5.1 èªèº«ã®ãããžã§ã¯ãã«æé©ãªPerlãã¬ãŒã ã¯ãŒã¯ã®éžã³æ¹
Perlã®ãã¬ãŒã ã¯ãŒã¯ãéžã¶éã®äžã€ã®ãã€ã³ãã¯ããã®ãããžã§ã¯ãã®ãµã€ãºã§ããå°èŠæš¡ããäžèŠæš¡ã®ãããžã§ã¯ãã ãšãDancerãMojoliciousãªã©ã®è»œéãªãã¬ãŒã ã¯ãŒã¯ãé©ããŠããã§ããããäžæ¹ã倧èŠæš¡ãªãããžã§ã¯ãã§ã¯ãã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ãã¹ã±ãŒã©ããªãã£ã«åªããCatalystãæåãªéžæè¢ã§ãããã
次ã«ããããžã§ã¯ãã®èŠæ±ãæºããããã«å¿ èŠãªæ©èœãšããã®ãã¬ãŒã ã¯ãŒã¯ã«ããåŠç¿ã³ã¹ããèæ ®ããã¹ãã§ããåãã¬ãŒã ã¯ãŒã¯ã«ã¯ããããç¬èªã®æ©èœãç¹è²ããããŸããããããã®æ©èœãç解ãå©çšã§ãããã©ããã¯ãæéãšãªãœãŒã¹ã®èŠ³ç¹ãããéåžžã«éèŠã«ãªããŸãã
æåŸã«ãè¯è³ªãªããã¥ã¡ã³ããŒã·ã§ã³ãšæŽ»çºãªã³ãã¥ããã£ããããã©ããããã§ãã¯ããŠãã ãããåé¡ã«çŽé¢ããæãå¿ èŠãªæ å ±ãåŸããããšããã«ã¢ã¯ã»ã¹ã§ããããšã¯éåžžã«éèŠã§ãã
5.2 Perlãã¬ãŒã ã¯ãŒã¯ã®éããšããããã®å©ç¹
Perlãã¬ãŒã ã¯ãŒã¯ã¯æ°å€ãååšãããããããç°ãªãç¹åŸŽãæã£ãŠããŸãããããã®éããç解ããããšã¯ãé©ãããã¬ãŒã ã¯ãŒã¯ãéžã¶äžã§æ¥µããŠéèŠã§ãã
äŸãã°ãDancerã¯ãã·ã³ãã«ã§è»œéã§ãããªããã匷åãªã«ãŒãã£ã³ã°æ©èœãæã£ãŠãããããå°èŠæš¡ãªWebãµãŒãã¹ãç°¡åãªREST APIãçŽ æ©ãç«ã¡äžããã®ã«é©ããŠããŸããã ãããšãã£ãŠãMojoliciousãå£ãããã§ã¯ãããŸãããMojoliciousã¯ãªã¢ã«ã¿ã€ã Webã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®å€ãã®æ©èœãå èµããŠããŸãããªã¢ã«ã¿ã€ã ã®éä¿¡ãæ±ããããå ŽåãMojoliciousãäžçªã§ãã
ãã£ãšå€§èŠæš¡ãªãããžã§ã¯ãã«ã¯ãCatalystãæé©ã§ãããããªããžã§ã¯ãæåèšèšã«å³æ Œã§ãããŸããŸãªããŒã¿ãœãŒã¹ã«å¯Ÿå¿ããŠãããã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ã®é¢ã§ãåªããŠããŸãã
5.3 Perlãã¬ãŒã ã¯ãŒã¯ã®äºææ§ãšæ¡åŒµæ§
Perlã³ãã¥ããã£ã¯ãç©æ¥µçã«ç«¶åããã©ã€ãã©ãªãäœæããããããã®åŒ·ã¿ãçµ±åããŠããããã¯ãã«ãªãã¬ãŒã ã¯ãŒã¯ãäœãåºãããšã«æ³šåããŠããŸããããã®çµæãå€ãã®Perlãã¬ãŒã ã¯ãŒã¯ã¯ãäºææ§ãšæ¡åŒµæ§ã«åªããŠããŸãã
äºææ§ãšã¯ããã¬ãŒã ã¯ãŒã¯ãä»ã®ã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ãšå ±åãå ±éååšã§ããèœåãæããŸãããã®ããšã¯ãæ¢åã®ã©ã€ãã©ãªãåŒãç¶ãå©çšããããæ°ãããã¬ãŒã ã¯ãŒã¯ãè©Šããªããã段éçã«ç§»è¡ããããšãå¯èœãšãªããŸãã
äžæ¹ãæ¡åŒµæ§ãšã¯ããã¬ãŒã ã¯ãŒã¯ãæ°æ©èœãè¿œå ããããšã«ã©ãã ã察å¿ã§ããããã§ããPerlã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã©ã°ã€ã³ã·ã¹ãã ãåããŠãããå¿ èŠãªæ©èœãç°¡åã«è¿œå ããããšãå¯èœã§ãã
5.4 Perlãã¬ãŒã ã¯ãŒã¯ã®ã©ãŒãã³ã°ã«ãŒããšã³ãã¥ããã£
Perlãã¬ãŒã ã¯ãŒã¯ã®ã©ãŒãã³ã°ã«ãŒããšã¯ãæ°ãã«Perlãã¬ãŒã ã¯ãŒã¯ãåŠã¶éã®é£æ床ãæãææšã§ããç¹å®ã®ãã¬ãŒã ã¯ãŒã¯ãç¿åŸããã®ã«å¿ èŠãªæéãåŽåã¯ããã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠå€§ããç°ãªããŸãã
äžè¬çã«ãå°åãäžåã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãåŠç¿æ²ç·ãç·©ããã§ãå§ããã®ã容æã§ããããã«å¯ŸããŠã倧èŠæš¡ãªãã¬ãŒã ã¯ãŒã¯ã§ã¯ãè€æ°ã®ã³ã³ããŒãã³ãã匷åãªæ©èœãæã€åãåŠç¿ããããã®æéãåŽåãå¿ èŠãšãªãã§ãããã
æåŸã«ãPerlã®åãã¬ãŒã ã¯ãŒã¯ã§ã¯ã掻çºãªã³ãã¥ããã£ã圢æãããŠããŸããã³ãã¥ããã£ã¯ãåŠç¿è³æºãæäŸãããããŠãŒã¶éã§æ å ±ãå ±æããããåé¡ã解決ãããããããã®æçãªãã©ãããã©ãŒã ã§ãããããã£ãŠããã¬ãŒã ã¯ãŒã¯éžã³ã®äžéšãšããŠããã®ã³ãã¥ããã£ã®æŽ»çºãããµããŒãäœå¶ã調æ»ããããšãæšå¥šããŸãã
6. Perlãã¬ãŒã ã¯ãŒã¯ã®æªæ¥ãšãã®é²å
Perlãã¬ãŒã ã¯ãŒã¯ã®æªæ¥ãšãã®é²åã«ã€ããŠã詳ããæ¢ãããšãéèŠã§ããPerlãã¬ãŒã ã¯ãŒã¯ã¯åžžã«æ°ããæè¡ãéçºæ¹æ³ãåãå ¥ãããã®å©äŸ¿æ§ãé²åãããŠããŸããããã®åœ±é¿åãå¯èœæ§ã¯ãããããã®ããã°ã©ãã³ã°ã®æªæ¥ã倧ãã«å·Šå³ãããã®ãšãªãã§ãããã
6.1 Perlãã¬ãŒã ã¯ãŒã¯ã®ææ°åå
Perlãã¬ãŒã ã¯ãŒã¯ã®ååãæ¢ãããšã§ãçŸåšäž»æµãšãªã£ãŠããéçºææ³ããã¬ã³ããææ¡ããããšãã§ããŸããäŸãã°ãMojoliciousãDancerãªã©ã®ãã¬ãŒã ã¯ãŒã¯ã¯ææ°ã®æè¡ãæ¡çšããWebã¢ããªã±ãŒã·ã§ã³ã®éçºããã容æã§å¹ççã«ãªã£ãŠããŸãã
ãŸããPerlã®ã³ãã¥ããã£ã掻çºã§ãããããæ°ããªãã¬ãŒã ã¯ãŒã¯ã®ç»å ŽãçãããããŸããããããããæ°ããªææ³ãå¯èœæ§ãåŠã¶ããšãã§ããŸãã
ãªããPerlãã¬ãŒã ã¯ãŒã¯ã¯ä»ã®ããã°ã©ãã³ã°èšèªãšæ¯èŒããŠã䌞ã³æ©ã¿ãèŠããŠããåŽé¢ããããŸãããããããã®äžæ¹ã§å€ä»£èšèªãšããã€ã¡ãŒãžãèŠããçŸä»£ã®Webéçºã«å¯Ÿå¿ãã圢ã§é²åãéããŠããŸãã
6.2 Perlãã¬ãŒã ã¯ãŒã¯ã®é²åãšãã®åœ±é¿
Perlãã¬ãŒã ã¯ãŒã¯ã®é²åã¯ããã®äœ¿ãããããšæè»ãããã倧ããªåœ±é¿ãäžããŠããŸããPerlèªäœãè±å¯ãªã©ã€ãã©ãªãšçµã¿èŸŒã¿æ©èœãæã¡ãé«åºŠãªæåååŠçãå¯èœã«ãããªã©ããã¯ãã«ãªæ§èœãèªããŸãã
ããã«ãããPerlãã¬ãŒã ã¯ãŒã¯ã¯éçºè ã®æéãå€§å¹ ã«æžããããã€é«éã§åäœããã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœã«ããŠããŸãããã®åœ±é¿ã¯ãšãŠã倧ããããšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ã·ã¹ãã éçºã«çšãããããªã©ããã®ååšæã¯æ¡å€§ããŠããŸãã
ããã¯ãPerlãã¬ãŒã ã¯ãŒã¯ãæã€ç¬ç¹ã®ç¹æ§ãšéçºè ã³ãã¥ããã£ã®åã«ãã£ãŠããããããŠããããã®é²åã®éçšã¯ä»ã®ãã¬ãŒã ã¯ãŒã¯ãšã¯äžç·ãç»ããŠããŸãã
6.3 Perlãã¬ãŒã ã¯ãŒã¯ã®æªæ¥ã®å¯èœæ§
Perlãã¬ãŒã ã¯ãŒã¯ã®æªæ¥ã«ã¯ããã®é«ãèªç±åºŠãšçŽ æ©ãéçºé床ããèããŠã倧ãã«å¯èœæ§ããããŸããç¹ã«èªååãAIã®åéã§ã®æŽ»çšãæåŸ ãããŠããŸãã
ãŸããPerlãã¬ãŒã ã¯ãŒã¯ã¯ãªãã¡ã¬ã³ã¹ãéåžžã«å å®ããŠãããæ°äººã§ã容æã«ç¿åŸããããšãã§ããŸãããã®ãããªçç±ãããPerlãã¬ãŒã ã¯ãŒã¯ã¯ãããããããŸããŸãªæ¥çã§ã®å©çšãèŠèŸŒãŸããŠããŸãã
ããããæ°ãããã¬ãŒã ã¯ãŒã¯ãç¶ã ãšç»å ŽããŠããããšãäºå®ã§ãããã®äžã§Perlãã¬ãŒã ã¯ãŒã¯ãã©ã®ããã«ç«ã¡äœçœ®ã確ç«ããŠããã®ããåŒãç¶ã泚èŠããŠãããŸãããã
6.4 Perlãã¬ãŒã ã¯ãŒã¯ãåŠã¶æ矩
Perlãã¬ãŒã ã¯ãŒã¯ãåŠã¶æ矩ã¯ãã®æ¡åŒµæ§ãšèªç±åºŠã®é«ãã«ãããŸãããã®èªç±åºŠã®é«ãã¯ãã¯ãªãšã€ãã£ããªçºæ³ã圢ã«ãããããåã ã®éçºè ã®ã¹ãã«ãæ倧éã«çºæ®ãããããšãã§ããŸãã
ãŸããPerlãã¬ãŒã ã¯ãŒã¯ã¯è±å¯ãªã©ã€ãã©ãªãæã£ãŠãããããäœãäœãããã«ããããããå¿ èŠãªæ©èœãæ¢ãåºãããšãå¯èœã§ããããã«ãããé«åºŠãªWebã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœã«ãªããŸãã
ãã®ãããPerlãã¬ãŒã ã¯ãŒã¯ãåŠã¶ããšã¯ãèªåã®æèã圢ã«ããããç°å¢ãæã«å ¥ãããšããæ矩ããããŸãããããã£ãäœéšã¯ä»ã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯åŸãããªã貎éãªçµéšãšãªããŸãã