Perl
ç¾å¨èªç±å¸³ã®æç« ã移è¡ä¸ã§ããèªç±å¸³ã®ãããªå¤§è¦åºãããã£ã¦ãã¿ã¤ãã«ããã£ã¦ããããã¯ãªãã¯ããã¨è¨äºãè¦ããã¦â¦ã¨ããæ§é ã®æç« ã¯ãTMemo.plã¨ããã©ã¤ãã©ãªã«ãã£ã¦ãããã¾ããã§ãã¯ã¦ãªã®ãããªç°¡æã¿ã°ãå±éããæ©è½ä»ã(ãã£ã¡ã¯ãdocumâ¦
æ¨æ¥ id:TakamiChie:20050405 ããæ©ãã§ãPerlã§ã®åé¡(ãã°ãã©ããã¯ããã¨ãã¦ãã¨ããããåå¨ãã¦ãã®ã¯äºå®ã ããâ¦)ããããæ¢ãã¨çµæ§ãã£ãã®ã§(ã¨ãã£ã¦ããstrictã«ããã¨åé¡ã®ããå¤æ°ããã£ãã¨ãããããããã§ãã)ããããç´ãã¦ã¿ããã®ã®â¦
ã©ããuse strictã®æå¹ç¯å²ã¯useãããã¡ã¤ã«å ã®ã¿ãããã§ãã use strictããããã¡ã¤ã«ãããå¥ã®plãã¡ã¤ã«ãrequireããã¨ãããã§ã¯å¤æ°å®£è¨ããªãã¦ãå¤æ°ã使ããããã«ãªãã¾ãâ¦ã (~ã~)ã¦ã¼ã³ãé¢åã ãªããrequireã®ãã¹ã¯æåã«èªã¿è¾¼ãã ãâ¦
æ¨æ¥ãããããªããããªã¨ã©ã¼ã Attempt to free unreferenced scalar: SV 0x1562318, Perl interpreter: 0x274304 at ./lib/main.pl line 233. Googleã§æ¤ç´¢ãã¦è¦ãã¨ãããåç §ã«ã¦ã³ãå¨ãã§ã¨ã©ã¼ãèµ·ãã£ãããã§ãããä½ãèµ·ãã£ãã®ã ããæ¤ç´¢çµæâ¦
ãªã¹ããã§ãããã«ä¸¦ã³æ¿ããæ¹æ³ my @a = sort { int(rand(4)) - 2 } @_; my @a = sort { int(rand(2)) - 1 } @_;ã§ãååã ã¨æã£ããã§ããããã¾ãã«ã°ãã¤ããããã¾ããã§ãã(ç¹°ãè¿ãã¦ã並ã³é ããã¾ãå¤ãããªã)ããã®è¾ºã¯ãªãã ããä»ã®è¨èªã«â¦
ãã®å 容ã®ãé£æ¥è¨ã§è¦ã¤ãã¾ããã id:aql:20050330#p2 ããã¾ãã«ãããªæãã§ããä¸ã§æ¸ããã¹ããªãã¿ã¨ééã¿ã°ã¨ãã°å½¢å¼ããããããªãã®ã«ã¼ã«ã§ãããã Perlã£ã¦ãä»ã®è¨èªã»ã©ã´ã£ã¡ããªãã¸ã§ã¯ãæåãªãã¦ãã®ã§ã¯ãªãã®ã§ãã¨ãã«èªåã§æ±ºãâ¦
ãããã¯åããããã³ãã¬ã¼ããèªã¿è¾¼ã¿ããããå¦çããã¨ããæ¹å¼ã§CGIãä½ã£ã¦ãã¾ããããã®ãã¨ã¯åã«ãæ¸ããã¨ããã§ãã ãããã®ãã³ãã¬ã¼ãã¯ã主ã«äºã¤ã®è¦ç´ ã§æãç«ã£ã¦ã¾ãã ééã¿ã°*1 ã¹ããªãã¿ ããããã¯ä»¥ä¸ã®ãããªæ¸å¼ã«ãªã£ã¦ãã¾â¦
ã¡ãã£ã¨ãããã·æã®æ¹è£ ã«ãæãã¤ãã¦ã¿ã¾ããå ¨é¢Perlã§ãPATH_INFOã使ã£ã¦åã³ã³ãã³ãã辿ãã¨ããæ¹åã§è¡ãããã¨æãã¾ããã¡ããã©04WebServerããã¼ã¸ã§ã³ãããã£ã¦ãPATH_INFãå¦çã§ããããã«ãªã£ãããã§ããã ãã¦â¦ããããªãã¨ãä¸æã«â¦
ãããdieã§å¤æ°ã®ã¢ãã¿ã¼ãç°¡åã«ã§ããããã«ãªã£ãã¨ã¯è¨ã£ã¦ãããã£ã±ãPerlã®ãããã°ã£ã¦ã®ã¯ããã¥ããã§ãããã¾ããããã¾ã§ã¡ããã¨ãããããã°ãã¼ã«ãããéçºç°å¢ã¨æ¯ã¹ã¦ãªãã§ãããããåºåæ¹æ³ããããããªãã¨ããã®ã¯ãä½ã¨ãâ¦ã ããâ¦
æ¨æ¥ãPerlã¢ã¸ã¥ã¼ã«ã§çµæ§ããããªãã¨ãã§ããã¨åãã£ããã¨ããµã¼ãã¢ãã©ã¤ãºç¨CGIã¨ããã®ãè¦ã¤ãã¾ããã http://www.futomi.com/library/servana.html 使ç¨ã§ããPerlã¢ã¸ã¥ã¼ã«ã¾ã§è¡¨ç¤ºãã¦ããã¾ããã¤ã³ãã©ã·ã¼ã¯ã£ã¦çµæ§ããããªã¢ã¸ã¥ã¼ã«ãâ¦
ãã¦ãCGIãä½ãå ´åãã»ã¨ãã©ã®ã±ã¼ã¹ã§æ¹è¡ã<br>ã«å¤æããã¨ããä½æ¥ãå¿ è¦ã«ãªãã¾ãã ç°¡åã«èããã°s/\n/<br \/>/gãããã§æ¸ãã§ãã¾ããã§ãããä¸ã«DIVãªã©ãæ¹è¡ãã¿ã°ã«ããã¦ã¯å°ãç®æããã£ãå ´åãã©ãããã°ããããã¾ãããDIVå ãå ¨é¨ä¸è¡ã§æ¸ããªâ¦
Perlã£ã¦ãæã£ããããçµæ§ããããªãã¨ãã§ãã¾ããZipå§ç¸®ãã§ãããã§ãããããããå²ã¨ä½¿ãããããã Archive::Zipã¨ããã©ã¤ãã©ãªã使ããã§ããããã©ã«ããä½ã£ã¦ãã®ä¸ã«æãè¾¼ããããªæè¦ã§ãZIPæ¸åº«ãæä½ã§ãã¾ãã 調åã«ä¹ã£ã¦ãTWatchã®â¦
CGIã®è¨ç½®ãå®äºãã¾ãããããã¾ããå¯ã¦ã¾ãã(^_^;)3æãããããããªã ââã§ãã¾ããã¿ãã°åãããã¨æãã¾ãããããã·æã®è£ã®å庫ããåç´ã«CGIåããã ãã§ãã管çè ããã©ã¦ã¶ããã¢ããã§ããããã«ããã®ã§ãããã§ä»¥åããã¯æ°è»½ã«æ´æ°ã§ããâ¦
ä¾ã®CGIãã§ãã¾ããã®ã§ãç¾å¨ããã·æã®ããã«è¨ç½®ãã¦ã¾ãããã¼ããæã«ã¯ã§ããããªï¼ ãã®CGIã®ã¬ã³ã¼ãæ§å¼ã¯ãåã«æ¸ããããç¥ãã¾ãããã»ãã¨éã£ã¦ã åå1:å¤1(åè¡) åå2:å¤2 ã» ã» ã» åån:å¤n (空è¡) å¤(ããã ãè¤æ°è¡OK) - ã¨ããå½¢å¼ã®â¦
HTTPDãWindowsXPã§ã¯ãªããåããªãã®ã§ããã£ã¡ãã£ã¡ã®Webãµã¼ãã½ãããç©è²ãã¦ããã§ããã便å©ãªã½ãããè¦ã¤ãã¾ãããã04WebServerãã®ãã¼ã¸ã¯ç§»è»¢ãããã¾ãã ãµã¤ããWebãµã¼ãã ã¨ãæ¨æºã¨ã©ã¼ã¯è¦ãã¦ãããªãã®ã§ãããããã¯æ¨æºã¨ã©ã¼ãâ¦
ãã¼ãããã®ã¸ããPerlã®ãããã«ããã¨ããï¼ é¢æ°ã«å¼æ°ãå¼ã渡ãã¨ãããµã¤ãã¯å¼æ°ã,ã§åºåãã¾ãããåºåããªãã±ã¼ã¹ãããæ§ã§ããsortã§æ¯è¼ç¨ã¡ã½ããã使ãã¨ãã¨ãããã¡ã¤ã«ãã³ãã«ã«printããã¨ãã¨ãã sortãªããã,ããã£ã¦ãã¨ããããâ¦
ä»æ¸ãã¦ããCGIã¯ãä»æ§ä¸æ¥æ¬èªåã®ãã£ã¬ã¯ããªãä½ã£ã¦ãã¾ãã¾ã(ã¦ã¼ã¶ã¼ã«ç´æ¥ã¢ã¯ã»ã¹ã¯ãããªã)ãCGIããã¢ã¯ã»ã¹ããªãããåé¡ãªãã¨ã¯æãã¾ããâ¦ã ãããªãéãçªå·ã§ãã¡ã¤ã«ããã£ã¬ã¯ããªãä½ãæ¹æ³ããããã§ããã©â¦ã æ¥æ¬èªãçµå±æåâ¦
Delphiã®ExtractFileName(ãã¡ã¤ã«ãã¹ãããã¡ã¤ã«åã®ã¿ãæ½åº)ã«ç¸å½ããæ£è¦è¡¨ç¾ s/(.+)[\\\/]([^\\\/]+)/$2/ ããªãã¤ã³ããã£ã½ãæ°ããã¾ãããã¡ããã¨åãã¾ãã(^^;ãã¶ãUNIXç°å¢ä¸ã§ãåãâ¦ããªã $SELFFILE = $0; $SELFFILE =~ s/(.+)[\\\/]([^â¦
my($filename) = @_; my(@lines); if(open(FILE, $filename)) { # ãã¡ã¤ã«ãã¼ã #@lines = ; foreach(){ push(@lines, $_); } close FILE; return @lines; }else{ return (); } ãã®ãããªã³ã¼ãã§ãã¡ã¤ã«ãèªã¿è¾¼ãã§é åã«ãã¾ãå ´åã foreach()ã¯ãæ¹â¦
Perlã¯è¨å·ã ãããªã®ã§ãæ°ãæãã¦ããã¨ããä½ããªãã ãåãããªããªãã¾ãã 対å¿ããæ¬å¼§ã強調表示ããã¨ãã£ã¿ã使ãã°è¦ãããã£ãããªâ¦(^_^; ãµãã«ã¼ãã³ã«é åãããã·ã¥ãªã¹ãã渡ãããå ´åããªãã¡ã¬ã³ã¹ã§æ¸¡ããªããã°ãªããªãããã§ãããâ¦
Perlã«ã¯ãããã¬ãã¡ããã¨ãããã§ãããPerl -d (ã¹ã¯ãªããå) ã§èµ·åã§ãã¾ããéçºç°å¢ãã使ãã®ããã¯ããªãå¹çãè½ã¡ã¾ãããåºæ¬çã«ã¯ DB(x) > ã¨åºåãããã s ã¨å ¥ããã ãã§é©å½ã«é²ãã§ããã¾ããããæµãã確èªããã«ã¯ååã§ããWã使ã£â¦
å¹´ãæ®ãã ãã2001å¹´ã«æ¸ããããµã³ã¿ã¯ãã¼ã¹ã®ã話ãããä¸åº¦å ¬éããããã¨æãã¾ãã åºæ¥ãã°CGIãJAVAã¢ãã¬ããã§ãããããã¨æã£ã¦ããã®ã§ããâ¦ã JAVAã¢ãã¬ããã«åãçµãã§ã¿ããã®ã®ãã©ããçµæ§é¢åããã§ããHTMLã®è¡¨ç¤ºã¯è¯ãã®ã§ããããâ¦