ããªãCãæªãã
ãããŠ
ããªãC ++ãæªãã
ããã¯ããããæ£ããèŠåºãã§ãã
ãŸããPerlãçŸåšç§ã®ãæ°ã«å ¥ãã®èšèªã§ããããšãæããŠãã ãã
ããã°ã©ãã³ã°ã ç§ã¯åœŒã®åã圌ã®åªé ãããããŠã
ãšããããç§ã¯åœŒã®è¡šçŸåã倧奜ãã§ãã ããããPerlã
確ãã«æ¬ é¥ããªãããã§ã¯ãããŸããã
ãã®èšäºã®å£èª¿ã¯åŠå®çãªãã®ãšã¯èããããŠããŸããã ç¥ã£ãŠãããšåœ¹ã«ç«ã€ãšæããŸãã
䜿çšãããŠããããã°ã©ãã³ã°èšèªãç¹ã«äººæ°ã®ããèšèªã®åŒ±ç¹ã«ã€ããŠã
ãã®ããããããã®åŒ±ç¹ãä»ã®èšèªã«è©²åœããªãããšã確信ããŠããŸãã
ã ãããããã«Perlã®åé¡ã®ãªã¹ãããããŸãïŒ
- ãªããžã§ã¯ãã®ç¶æ¿ã¯ãããŸããã
 
 
 
 Perlã®ç¶æ¿ã¯ã ISAé åãä»ããŠå®è£ ãããŸãïŒ
 
 ãããã¯åé¡ã§ãããªã©ïŒ
 
 ããããã±ãŒãžããå¥ã®ããã±ãŒãžãžã®ç¥çŠããããªã³ã¯ãä»ããã¡ãœããã
 
 ããšãã°ãSomeClassã®ã°ããŒãã«ã«SomeOtherClassãå«ãŸããŠããå Žå
 
 ISAé åãSomeOtherClassã¡ãœãããçŽæ¥åŒã³åºãããšãã§ããŸã
 
 SomeClassã®bless-nutyãªã³ã¯çµç±ã
 
 
 
 æ®å¿µãªããããªããžã§ã¯ããç¶æ¿ããæ¬åœã®æ¹æ³ã¯ãããŸãã
 
 Perlã®å¥ã®ã¯ã©ã¹ã®å Žåãã¡ãœããã®ã¿ãç¶æ¿ã§ããŸãã éåžž
 
 åé¿çã§äœ¿çš-å¿ èŠãªã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãŒãã
 
 ç¶æ¿ãããšãã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãŒãåŒã³åºããã
 
 ãªããžã§ã¯ããååŸããç¬èªã®ãã£ãŒã«ããããã·ã¥ã«è¿œå ããŠããã
 
 ãªããžã§ã¯ããã¯ã©ã¹ã«å床bless-nullããŸãã
 
 
 
 - ããã±ãŒãžSomeClass; SomeOtherClassã䜿çšããŸãã @ISA = 'SomeOtherClass'; sub new { ç§ã®$ class = shift; ïŒæ°ããSomeOtherClassãªããžã§ã¯ããäœæããŸãã ç§ã®$ self = $ class-> SUPER :: new; ïŒãããå°ç¡ãã«ïŒ $ self-> {'_ something'} = 1; $ self-> {'_ something_else'} = 2; ïŒä»ããããSomeClassã«ç¥çŠããŸãïŒ blessïŒ$ selfã$ classïŒ; $ selfãè¿ããŸãã } 1;
 
 
 
 åé¡ã¯ãã«ãã»ã«åã®æ³åŸã«éåããŠããããšã§ã
 
 æœè±¡åïŒãªããžã§ã¯ãã®å®è£ ã®è©³çްãç¥ãå¿ èŠããããŸãã
 
 ããªãã¯ãããç¶æ¿ããŸã
 
 ãã®ãã£ãŒã«ãã¯çŽæ¥ã 1ã€ã®ã°ããŒãã«å€æ°ã宣èšã§ããŸã
 
 ããã±ãŒãžåãããããã®å€æ°ãæäœããããã·ãŒãžã£ãäœæããŠããã
 
 ãããã®æé ãç¶æ¿ããŸãããããã§ã¯ãããŸããã
 
 
 
 ç¡æ°ã®ãªããžã§ã¯ãæåã¢ãžã¥ãŒã«ã§
 
 CPAN Perlã¯ããšããšçŽç²ã«èšèšãããŠããããšãå¿ããã¡ã§ã
 
 æ§é ããã°ã©ãã³ã°èšèªã ãã®ãããªç¬éã¯ãããå®å šã«æç¢ºã«ããŸãïŒ
 
 Perlã®ãªããžã§ã¯ãæåã¯ãæ¬åœã«ç¥çŠããããªã³ã¯ãšã»ãã®å°ãã«ãããŸãã
 
 æ§æç³ã
 
 
 
 - åç §ã«ãŠã³ã¿ãŒã
 
 
 
 Perlã¯ã¬ããŒãžã³ã¬ã¯ã¿ãŒã®åç §ã«ãŠã³ã¿ãŒã䜿çšããŠãç°¡åãªæ¹æ³
 
 ã¿ã€ã ãªãŒãªãªãªãŒã¹ãä¿èšŒããã¡ã¢ãªç®¡ç
 
 æªäœ¿çšã®ãªãœãŒã¹ã ãã¹ãŠã®ã¹ã«ã©ãŒãé åãããã·ã¥ããã®ä»ã®ãã®
 
 1ã§å§ãŸãçµã¿èŸŒã¿ã®åç §ã«ãŠã³ã¿ãŒã æ¯å
 
 ãã®å€æ°ã®ãªã³ã¯ãäœæããããšãåç §ã«ãŠã³ã
 
 å¢å ããŸãã ãªã³ã¯ãåé€ããããšãã«ãŠã³ã¿ãŒãæžå°ããŸãã ããã€ãã§
 
 æåŸã®ãªã³ã¯ãåé€ãããã«ãŠã³ã¿ãŒããŒãã«ãªã£ãç¬éã
 
 ãã®å€æ°ã«äœ¿çšãããŠããã¡ã¢ãªã¯è§£æŸãããŸãã
 
 ãã®åé¡ã¯ãçžäºã«åç §ãã2ã€ã®å€æ°ãããå Žåã«çºçããŸã
 
 芪ããã·ã¥ãšåã®ããã·ã¥ã®ãããªå人ã
 
 çžäºãªã³ã¯ã 誰ã®ã«ãŠã³ã¿ãŒãæžããããšãã§ããªãã®ã§
 
 æåŸã®ãªã³ã¯ãç Žæ£ããããŸã§ãŒãã«ãªããŸãã
 
 2çªç®ãè§£æŸããããŸã§è§£æŸããããã®çµæãäž¡æ¹ãæ®ããŸã
 
 ã¡ã¢ãªã«ãã³ã°ã¢ããããŸãã ããã¯ã埪ç°åç §ãšåŒã°ãããã®ã§ãã
 
 ïŒè¿œå æ å ±ãåç §ããŠãã ããïŒ
 
 http://www.perl.com/pub/a/2002/08/07/proxyobject.html
 
 ïŒ
 
 
 
 ããã¯ãPerlã®ã¡ã¢ãªãªãŒã¯ã®ä¿®æ£ãäºæ³å€ã«ç°¡åã§ããããšãæå³ããŸãã
 
 å€ãã®ææãªPerlããã«ãŒãå¶ç¶ãããè¡ã£ãã 圌ãã¯èããïŒ
 
 ãã¯ãããã®ãªããžã§ã¯ãã«èŠªãžã®åç §ãå«ãŸããŠãããšäŸ¿å©ã§ãã
 
 éããŸãåæ§ã§ãããšãã¡ã¢ãªãªãŒã¯ãçºçããŸãã
 
 
 
 åç §ã«ãŠã³ã¿ãŒã䜿çšããã®ã¯ãPerlã ãã§ã¯ãããŸãããVB
 
 PHPã®ããã«ãPythonã¯ãŸã 䜿çšããŠããŸãã
 
 
 
 ãããããªã³ã¯æ°ã®æå€§ã®åé¡ã¯äœåãªãã®ã§ã
 
 XSæ¡åŒµæ©èœã®äœæè ã«ããŒãããŸãã ã«ãŠã³ã¿ãŒã¯ããããäœãåºã
 
 ã³ãŒãå šäœã§SvREFCNT_incïŒïŒããã³SvREFCNT_decïŒïŒãåŒã³åºãããããå¶åŸ¡ããŸã
 
 åSvREFCNT_incïŒïŒã«ã¯ã察å¿ããSvREFCNT_decïŒïŒããããŸãã ãªã«
 
 次ã®è¿·æã«ç§ãå°ããŸã...
 
 
 
 - çŽæçãªAPIã§ã¯ãããŸããã
 
 
 
 Perl C APIã¯ããªã奜å¥å¿isçã§ãã ãŸããç®ã«èŠãããã®ã¯ãããŸãã
 
 åœåèŠåã ããã€ãã®ããã·ãŒãžã£åãæ··åšããŠããŸã
 
 ã±ãŒã¹ãããšãã°newSVivïŒïŒããã®ä»ã«ã¯
 
 ã¢ã³ããŒã¹ã³ã¢ãããšãã°ãnewRV_noincïŒïŒã å€ãã®å€æ°åãš
 
 æ§é äœã®ã¡ã³ããŒã«ã¯çãååããããŸãã
 
 é·ãã¯ãCurãããµã€ãºã¯ãlenãã
 
 
 
 APIã«ã¯ãã¯ããããããããããã®å€ãã¯ããã¥ã¡ã³ãåãããŠããŸãã
 
 perlapiãŸãã¯ãã®ä»ã®ããã¥ã¢ã«ããŒãžïŒHvKEYSïŒïŒãªã©ïŒ
 
 
 
 ãããŠã人çãããã«é¢çœãããããã«ã
 
 ææžåãããŠããããã«ãŠã³ã¿ãŒã倿Žãããã©ããã¯ããèšãããªã
 
 åŒæ°ãžã®åç §ã
 
 
 
 - ã¹ã«ã©ãŒã³ã³ããã¹ãã§ã®é å/ãªã¹ãã®éçŽæçãªåäœã
 
 
 
 ç§ã¯ã次ã®ãããªäœåãªæ¬åŒ§ã§ã³ãŒããæžãã®ã¯æ¬åœã«å¥œãã§ã¯ãããŸããïŒ
 
 
 
 - myïŒ$ first_fieldïŒ= splitïŒ/ \ t /ã$ tab_delimited_fieldsïŒ; 
 
 
 
 äœããã®é¢æ°ããè¿ããããªã¹ããŸãã¯é åã劚害ããããã
 
 ãµããŸãã
 
 
 
 Perlã§ã¯ãé åã¯ã¹ã«ã©ãŒã§äœ¿çšãããšãµã€ãºãè¿ããŸã
 
 ã³ã³ããã¹ããããã³ãªã¹ãïŒäŸïŒããã°ã©ã ããã¹ãã®ãïŒ70ã80ã90ïŒãïŒ
 
 æåŸã®ã¢ã€ãã ãè¿ããŸãã ãŸããäžè¬çãªç®çã®ããã«
 
 ãªã¹ããšé åã®éããå°å ¥ããŸãããïŒ ç¬¬äºã«ããã€ããªã
 
 ã¹ã«ã©ãŒã³ã³ããã¹ãã§ãªã¹ãã䜿çšããå¿ èŠãããå ŽåããããŸã
 
 åœŒã®æåŸã®ã¢ã€ãã ãååŸããã«ã¯ïŒ
 
 
 
 é åãšãªã¹ãã®äž¡æ¹ãæ©èœããå Žåãã¯ããã«è¯ããšæããŸã
 
 åãã§ããããã®ä»£ããã«ã¹ã«ã©ãŒã³ã³ããã¹ãã®æåã®èŠçŽ ãè¿ããŸãã
 
 é·ããŸãã¯æåŸã®ã¢ã€ãã ã æ¬¡ã«ã次ã®ãããªã³ãŒããèšè¿°ã§ããŸãã
 
 
 
 - ç§ã®$ email_address = $ input =ã/ïŒ\ S + \ @ \ S +ïŒ/; 
 
 
 
 圌ã¯åãã ããã
 
 
 
 ã ãããããªãã¯å°ããŠãé åã®ãµã€ãºãååŸããŸããïŒ ãããã©ãããŠ
 
 lengthïŒïŒé¢æ°ã䜿çšããŠããŸããïŒ å€ãã®åå¿è ã¯ãããææ¡ããŸã
 
 ããã ãã§åäœããã¯ãã§ãã
 
 
 
 - æžåŒ
 
 
 
 Perlã®ãã©ãŒãããã¯ããããããã¬ããŒããã®äžéšã§ãã
 
 ãå®çšçãªæœåºãšã¬ããŒãèšèªã-ãã¡ãããPerlãã¯
 
 é åèªã§ã¯ãªããªããæ£çŽã«èšããšã
 
 䜿çšãããŠãããã©ãŒãããïŒ å®éãã©ã®ããã«èŠããŠããŸãã
 
 圌ãã¯äœ¿çšããæš©å©ããããŸããïŒ
 
 
 
 Perlã®ãã®å€§ãããå®å šã«ç¡èŠãããéšåã¯ãããŸããŸãªæ¹æ³ã§åžã蟌ãŸããŸãã
 
 çç±ã
 
 
 
 ãŸãããã©ãŒããããå®çŸ©ããããã®æ§æã¯åä»ã§ãïŒçŽ20
 
 ãŸãã¯ãæåã<ããæ¬¡ã ã«ïŒïŒãã°ããŒãã«ïŒããªã
 
 ã©ããã«ãããã§çµãã倧ããªãããã¯ãå¿ èŠã§ã-ããå¯èœæ§ãé«ã
 
 ããªãã®ã³ãŒãã®äžã«ãããã¹ãŠïŒãšéåžžãšã¯å®å šã«ç°ãªããŸã
 
 Perlæ§æïŒç¹ã«å¿ããŠããŸãå¯èœæ§ãé«ãããç¹ã«
 
 ããªãã¯ããã䜿çšããããšããªãã®ã§ïŒã
 
 
 
 第äºã«ããã©ãŒãããã䜿çšããŠå®å šãªããšãããããšãã詊ã¿
 
 åé·æ§ã«ã€ãªãããå€ãã®å ŽåãselectïŒïŒé¢æ°ã®äœ¿çšãå¿ èŠã§ãã
 
 writeïŒïŒãåŒã³åºãåã«$ ^ã§å€§éšããã3ã€ã®äœ¿çšã匷å¶ãã
 
 ååãªè¡šçŸãå®çŸããããã®è¡šçŸã ïŒ4
 
 åŒïŒã«ãŠã³ããéžæããŠåŸ©å ããå ŽåïŒïŒïŒã
 
 
 
 第äžã«ããã©ãŒãããã§ã§ããããšã¯ãã¹ãŠãéåžžã¯ã§ããããšã§ã
 
 printfïŒïŒwith sprintfïŒïŒ-ãªãŒã ã ãã©ãŒãããã®æ§æãæ¬åœã«
 
 éåžžã¯è€æ°ã®printfïŒïŒã䜿çšããŠãprintfïŒïŒãããæè»æ§ãé«ã
 
 åé¡ã解決ããããšãã§ããŸããããã¯ãããçããããã¯ãªãŒã³ãªæ¹æ³ã§ãã
 
 ãããããããããã¹ãŠã®ææªã®éšåã¯ãwriteïŒïŒã䜿çšãããããšã§ã
 
 I / OãreadïŒïŒãšããŠå®è¡ãã代ããã«ãååšããªã圢åŒãåºåããã«ã¯ã
 
 ãã®è±èªã®å察ïŒ
 
 - ãæžã蟌ã¿ã¯*ãèªã¿åããã®å察ã§ã¯ãªãããšã«æ³šæããŠãã ããã æ®å¿µãªãããã 
 
 
 
 fromïŒperldoc -f writeïŒã
 
 
 
 - 宿°ããã¯ãã¯ãããŸããã
 
 
 
 å®éããããã¯2ã€ã®å¥åã®ãã€ã³ãã§ããå¿ èŠããããŸããPerlã§ã¯
 
 倿°ã宿°ãšããŠå®£èšãŸãã¯å®çŸ©ããç°¡åãªæ¹æ³
 
 å šäœã«ããžãã¯ãã³ããŒã忣ããã代ãããšããŠã®ãã¯ã
 
 ã³ãŒãã
 
 
 
 ã¯ããPerlã«ã¯äž¡æ¹ãè¡ã宿°ãã©ã°ãããããŸã
 
 å¥ã®ããããããã¯æ¬åœã«åãªãããã¯ã§ãã å·§åŠã§ãšã¬ã¬ã³ããªããã¯ã
 
 ããã«ãããããããããã¯ïŒ
 
 
 
 - 宿°PORT => 80ã䜿çšããŸãã 
 
 
 
 PORTã¯ãå²ãåœãŠã®å³èŸºå€ãšããŠäœ¿çšã§ããããã«ãªããŸããã
 
 ããã¯å®æ°ã®ãããªãã®ã§ãããäœããå²ãåœãŠã詊ã¿ã¯
 
 èŽåœçãªãšã©ãŒãçºçããŸãã ããããããªããèŠãããã«ãPORTã¯å®éã«ã¯
 
 宿°ã§ã¯ãªãããåŒæ°ãªããã®ãããã¿ã€ããæã€åãªã颿°ã§ãã
 
 颿°ããªãŒããŒã©ã€ããããããŸãã¯
 
 ããµãã䜿çšãããŸãã¯çŽæ¥ã·ã³ãã«ããŒãã«ããã
 
 ããã«éèŠãªããšã¯ã宿°ã®ç®æšã®1ã€ã¯å¹çã§ãã ãã
 
 ã³ã³ãã€ã©ãŒã«ãšã£ãŠäººçã¯ããç°¡åã§ãå²ãåœãŠãå¿ èŠããããŸããã
 
 倿°ã«äœãã ããã§ã¯ãå°ããªã²ã€ã³ã®ä»£ããã«ãperlã
 
 éèš³è ã¯çç£æ§ã«ãããã€ãªææãåããŸãã
 
 
 
 - åæ å ±ã¯ãããŸããã
 
 
 
 Perlã§ã¯ãã¹ã«ã©ãŒã«ã¯å€ãŸãã¯å€ãžã®åç §ãå«ããããšãã§ããŸãã
 
 æ®å¿µãªãããPerlã¯ã©ã®åãèŠã€ããããã®æŒç®åãæäŸããŠããŸãã
 
 ãå€ãã«ã¯ã¹ã«ã©ãŒãå«ãŸããæŒç®åã¯åãæ±ºå®ããããã ãã®ãã®ã§ã
 
 ãªã³ã¯ã ããã«ãããããšãã°ã
 
 ç®è¡èšç®ã«ãµããããã¹ã«ã©ãŒæ°
 
 é£ããã ã¯ããPerlããã«ãŒã¯ãã®æ°åãèããããšã«æ £ããŠããããšãçè§£ããŠããŸã
 
 ãããŠãæååã¯äº€æå¯èœã§ãããåé¡ã¯ãŸã çºçããããã¯ã°ãããŠããŸã
 
 æ£èŠè¡šçŸãããã«ããæ±ããŠä»¥äžã決å®ããŸãã
 
 
 
 - ãæ°åãããªãïŒã ïŒ$ thing =ã/ ^ \ d + $ /ïŒ; 
 
 
 
 ãã¡ããããã®è¡šçŸã¯ããŸãæ©èœããŸããããªããªããæ°åã¯
 
 ã+ããã-ããããããªã©ã®ä»ã®æåãå«ã ãµã€ã³ã瀺ãããã«ã
 
 å°æ°éšãŸãã¯ææ°ã
 
 
 
 ctype.hã®é¢æ°ã§ãããäœãããªãããã䟿å©ã§ãã
 
 
 
 Perlãæã£ãŠããããã«èŠããã®ã§ãããã¯ããã«åä»ã§ã
 
 SVã«ã©ã®ãããªå€ã®åãããããããªãããæšæž¬ããŸãïŒC-type typedef
 
 ãã©ã°ãã£ãŒã«ãã®å€ã«åºã¥ããŠãã¹ã«ã©ãŒã®å€ãèšè¿°ããïŒã
 
 å¿ èŠã«å¿ããŠç°¡åã«å€æã§ããŸãã
 
 
 
 - Autovivificationã
 
 
 
 autovivifyããã·ã¥ã®ããŒãšå€ã®ãã¢ïŒç¿»èš³è ã®ã¡ã¢ïŒæ¹æ³ãããããŸãã
 
 ã€ãŸããautovivifyã翻蚳ãããšããæå³ã§-ãäœæããã
 
 èªåçã«ããªã³ã¶ãã©ã€ã§ïŒïŒPerlã§ã ã€ãŸããæå®ã§ããããšãæå³ããŸã
 
 ã¿ã€ããautovivedãã®æ°ããããŒãçºçããŸãã
 
 
 
 - myïŒ hash =ïŒkey1 => 'value1'ãkey2 => 'value2'ïŒ; $ hash {autovived} = 1;
 
 
 
 ãŸããããŒåãšãããå°å°ã§ããããšãæå³ããŸã
 
 èŠåãªãã«çºçããŸãã 倧ãããªã
 
 ããã·ã¥ãèŸæžãšããŠäœ¿çšãããšãã®åé¡ã¯ãããŒã
 
 å€ãã®å Žåãä»ã®å Žæããæ¥ãŸãããæ¬¡ã®ãããªããã·ã¥ã䜿çšãããš
 
 æ§é ãŸãã¯ãªããžã§ã¯ããããã¯åé¡ã«ã€ãªãããŸãïŒ
 
 
 
 - $ self = { åå=> undefã 幎霢=> undef ... ãµãããŒã { ç§ã®$ self = shift; $ self-> {Name} = @_ã®å Žåã«ã·ãã; return $ self-> {name}; }
 
 
 
 ããã·ã¥ããªããžã§ã¯ããšããŠäœ¿çšãããšãã¯ãåžžã«å®çŸ©ããŠåæåããŸã
 
 ã³ã³ã¹ãã©ã¯ã¿ãŒå ã®åããã·ã¥èŠçŽ ã¯ãå°ãªããšããundefãã§ãã
 
 ããŒã¯ãŒããéçãã«äœãäžããªããšãå¹²æžããŸã
 
 åæååŸã«æ°ããèŠçŽ ãããã·ã¥ã«è¿œå ãããŸãã
 
 
 
 - static my $ self = { åå=> undefã 幎霢=> undef ... $ self-> {Name} = shift; ïŒèŽåœçãšã©ãŒ
 
 
 
 
 
 
 
 æãæµ®ãã¶ä»ã®åŒ±ãåºæ¿ãå«ãŸããŸã
 
 æååã®åã®chopïŒïŒã«çžåœãããã®ããªããããé©çšã§ããŸãã
 
 ãã§ãŒã³ããšã®-xãã¡ã€ã«ã®ãã¹ãïŒã-e $ filename && -T
 
 $ filename && -w $ filename "instead of" -e -T -w $ filename "or" -eTw $ filename "ïŒã
 
 binmodeïŒïŒãåŒã³åºãããã®å¥åŠãªæ £ç¿ãäžå®å®ãªã·ã°ãã«ã
 
 localïŒïŒãªã©ã®ååã®èŠåœèé害ãããã³é¢æ°sizeofïŒïŒã®æ¬ åŠã
 
 
 
 ãã®16æ³ã®èšèªã¯ããã°ããã®éçå®ã«èšããã§ããŸãã å€ãã®åœŒ
 
 ã¢ã¹ãã¯ãã¯çŽèгçã§ãªãã广çã§ãªããåã«èŠèŠãããªããŸãã
 
 å®è£ ã倿Žããã®ãé£ãããæ°ããæ©èœã远å ãã
 
 å€ããã®ãå£ãããšãªãéåžžã«å°é£ã«ãªããŸãã
 
 
 
 Perl 6ã¯ããããã®åé¡ã®å€ããä¿®æ£ããããšããPerlã³ãã¥ããã£ã«ãã詊ã¿ã§ãã
 
 å®ãªããžã§ã¯ãã®ãµããŒãã远å ãããåç §ã«ãŠã³ã¿ãŒããªããªããŸãã
 
 ã·ã®ã«ïŒ$ã@ãïŒ ïŒã¯ããçŽæçã«ãªããå€ãã®æ°æ©èœã远å ãããŸãã
 
 远å ãããŸãã
 
 
 
 ãã®ãããããŠã³ã®èšèªã®æžãçŽãã¯ãŸã å®å šã§ã¯ãããŸããããç§ã¯ã
 
 ä»ã®å€ãã®äººãšäžç·ã«ãç±å¿ã«åœŒãåŸ ã£ãŠããŸãã ãã®æç¹ãŸã§ãç§ã¯ç§ãæã
 
 ç§ã¯ãPerl 5ã䜿çšããŠã»ãšãã©ã®äœæ¥ãç¶ããŸãã