CVS¤Ø¤Î¥¢¥¯¥»¥¹ Anonymous CVS ¤ÇºÇ¿·¤Î¥½¡¼¥¹¥³¡¼¥É¤òï¤Ç¤âÆþ¼ê¤Ç¤¤Þ¤¹¡£ ÊýË¡¤Ï¼¡¤ÎÄ̤ê¤Ç¤¹¡£ % cvs -d :pserver:guest@cvs.namazu.org:/storage/cvsroot login CVS password: guest % cvs -d :pserver:guest@cvs.namazu.org:/storage/cvsroot co -P namazu ¤Þ¤¿¡¢2001-06-25¤«¤é°ÂÄêÈÇ (2.0.x) ¤È³«È¯ÈÇ (2.1.x) ¤Ëʬ´ô ¤·¤Þ¤·¤¿¡£°ÂÄêÈǤΥ½¡¼¥¹¤òÆþ¼ê¤·¤¿¤¤¾ì¹ç¤Ë¤Ï % cvs -d :pserver:guest@cvs.namazu.org:/storage/cvsroot login CVS password: guest % cvs -d :pserver:guest@cvs.namazu.org:/storage/cvsroot co -r stable-2-0 namazu ¤È¤·¤Æ¤¯¤À¤µ¤¤¡£ ============================================================== GNU Build Tools CVS ¤«¤éÆþ¼ê¤·¤¿ Namazu ¤ò make ¤¹¤ë¤Ë¤Ï¡¢¤¢¤é¤«¤¸¤á°Ê²¼¤Î ¥Ñ¥Ã¥±¡¼¥¸¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ - GNU m4 1.4 - GNU autoconf 2.13 (¤â¤·¤¯¤Ï¤½¤ì°Ê¾å) - GNU automake 1.4 (¤â¤·¤¯¤Ï¤½¤ì°Ê¾å) - GNU libtool 1.3 (¤â¤·¤¯¤Ï¤½¤ì°Ê¾å) - GNU gettext 0.10.35 (¤â¤·¤¯¤Ï¤½¤ì°Ê¾å) ¤¤¤º¤ì¤â GNU ¤Î¥ß¥é¡¼(e.g. ftp://ftp.ring.gr.jp/pub/GNU) ¤«¤é¼ê¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ CVS ¤«¤é¥½¡¼¥¹¤ò¼èÆÀ¤·¤¿¤é¡¢¤Þ¤ºautogen.sh ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô ¤·¤Æ¤¯¤À¤µ¤¤¡£ =============================================================== ¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°ËÝÌõ¤Î¼ê½ç 1. ³Æpo¥Õ¥¡¥¤¥ë¤Î̤ËÝÌõÉôʬ¤òËÝÌõ¤¹¤ë 2. ja_JP.SJIS.po ¤Ë´Ø¤·¤Æ¤Ï¡¢ja.po ¤ÎËÝÌõ¸å¤Ë make_sjis_po ¤ò ɬ¤º¼Â¹Ô¤¹¤ë¡£¤³¤ì¤Ç ja.po ¤Ë¤ª¤±¤ëÊѹ¹¤¬ ja_JP.SJIS.po ¤Ë¤â È¿±Ç¤µ¤ì¤ë¡£ 3. po °Ê²¼¤Ç¡¢make update-po ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Á´ po ¤ò namazu.pot ¤ËƱ´ü¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë¡£ ´ðËÜŪ¤Ë¤Ï¤³¤ì¤Î·«¤êÊÖ¤·¤Ç¤¹¡£:) ¤Ê¤ª¡¢GNU gettext 0.10.37 °Ê¹ß¤Ç¤Ï Big5 ¤ä Shift_JIS ¤Êʸ»úÎó¤ò '\' ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ëɬÍפϤʤ¯¤Ê¤ê¤Þ¤·¤¿¤¬¡¢'\' ¤Ç¥¨¥¹¥±¡¼¥× ¤µ¤ì¤¿Ê¸»úÎó¤ò´Þ¤à¥«¥¿¥í¥°¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¤Ï¡¢´Ä¶ÊÑ¿ô OLD_PO_FILE_INPUT ¤ª¤è¤Ó OLD_PO_FILE_OUTPUT ¤òÀßÄꤹ¤ëɬÍפ¬ ¤¢¤ê¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï % env OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes make update-po ¤Ê¤É¤È¤·¤Æ¤¯¤À¤µ¤¤¡£ ================================================================ Namazu ¤Î¥³¡¼¥Ç¥£¥ó¥°µ¬Â§ - PerlÊÔ mknmz¸Çͤλö¾ð * ¥Ï¥Ã¥·¥å¤Î¥¡¼¤òʸ»úÎó¤Ç»ØÄꤹ¤ë¤È¤¤Ïɬ¤º '' ¤Ç³ç¤ë¡£Îã: ¡ß $NMZ{log} ¡û $NMZ{'log'} => log ¤È¤¤¤¦´Ø¿ô¤¬¤¢¤ë¤¿¤á perl 5.004 ¤Ç¤Ï warning ¤¬½Ð¤ë * debug¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¤È¤¤Ïɬ¤º util::dprint() ¤ò»È¤¦ * verbose¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¤È¤¤Ïɬ¤º util::vprint() ¤ò»È¤¦ * ¥¨¥é¡¼¤Ê¤É¤ÎÍýͳ¤Ç die ¤¹¤ë¤È¤¤Ïɬ¤º util::cdie() ¤ò»È¤¦ * ¥Õ¥¡¥¤¥ë¤ò³«¤¯¤È¤¤Ë¤Ïɬ¤º util::efopen() (¥¨¥é¡¼¤Î»þ¤Ë util::cdie() ¤¹¤ë)¤Þ¤¿¤Ï util::fopen() ¤ò»È¤¦ * while (<>) {} ¤ä while (<$fh>) {} ¤ò¶Ø»ß¤¹¤ë¡£$_ ¤Ï¥°¥í¡¼ ¥Ð¥ëÊÑ¿ô¤Ç¤¢¤ë¤¿¤á¡¢´í¸±¡£Âå¤ï¤ê¤Ë while (defined(my $line = <$fh>)) {} ¤È¤¹¤ë¡£ * °ì»þ¥Õ¥¡¥¤¥ë¤òºî¤ë¤È¤¤Ïɬ¤º my $tmpfile = util::tmpnam("NMZ.foobar"); ¤È¤·¤Æ°ì»þ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò¼èÆÀ¤¹¤ë¡£ * ¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤ò¤Þ¤ë¤´¤ÈÆɤ߹þ¤à¤È¤¤Ï util::readfile() ¤ò»È¤¦¡£ join '' <$fh> ¤è¤ê®¤¤¤Ï¤º¡£ * ¥Õ¥¡¥¤¥ë¤ò rename ¤¹¤ë¤È¤¤Ïɬ¤º util::Rename() ¤ò»È¤¦¡£ OS/2 Âкö¡£ * ¥×¥í¥°¥é¥àÁ´ÂΤ˱ƶÁ¤ò¤ª¤è¤Ü¤¹¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ï lib/var.pl.in ¤ËÄêµÁ¤¹¤ë¡£ * mknmz Æâ¤À¤±¤Ë±Æ¶Á¤ò¤ª¤è¤Ü¤¹¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ï src/mknmz.pl.in ¤ËÄêµÁ¤¹¤ë¡£ $SYSTEM ¤Î¤ßÎã³°¡£ * ¥æ¡¼¥¶¤¬ mknmz.conf, ~/.mknmzrc ¤Ë¤ÆÊѹ¹¤·¤¿¤¤¤Ç¤¢¤í¤¦ÊÑ ¿ô¤Ï lib/conf.pl.in ¤ËÄêµÁ¤¹¤ë¡£ ½ñË¡ * ɬ¤º -w ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë #! /usr/bin/perl -w * ɬ¤º use strict ¤¹¤ë * local() ¤Ï»È¤ï¤Ê¤¤ * ÊÑ¿ô¤Ï»È¤¦°ÌÃÖ¤ÇÀë¸À¤¹¤ë - C¸À¸ì¤Î¤è¤¦¤Ë¥Ö¥í¥Ã¥¯¤ÎºÇ½é¤ÇÀë¸À¤¹¤ëɬÍפϤʤ¤ * ÊÑ¿ô¤ÎÀë¸À»þ¤Ë¤Ï¤Ç¤¤ë¸Â¤ê½é´ü²½¤ò¹Ô¤¦ * for ¤Ï for my $tmp (@foo) { ... } ¤Î¤è¤¦¤ËÍѤ¤¤ë - my $tmp ¤ÎÉôʬ¤¬Í× ($tmp¤Î¥¹¥³¡¼¥×¤ò¥ë¡¼¥×Æâ¤Ë¸ÂÄꤹ¤ë) * Ìá¤êÃͤÏÍÛ¤Ë return ¤¹¤ë - ¥µ¥Ö¥ë¡¼¥Á¥óºÇ¸å¤Î¼°¤¬ return ¤µ¤ì¤ë¡¢¤È¤¤¤¦¥ë¡¼¥ë¤ËÍê¤é¤Ê¤¤ * built-in´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎºÝ¤Ï¾Êά¤Ç¤¤ë´Ý³ç¸Ì¤Ï¤Ç¤¤ë¤À¤±¾Ê¤¯ - ¡û substr $str, $offset, $len; ¡ß substr($str, $offset, $len) * Àµµ¬É½¸½¤Ç¤Ï $&, $', $` ¤ò»È¤ï¤Ê¤¤ - ¥×¥í¥°¥é¥àÁ´ÂΤ¬ÃÙ¤¯¤Ê¤ë¤¿¤á * ¥µ¥Ö¥ë¡¼¥Á¥ó¤Î¸Æ¤Ó½Ð¤·¤Ï foobar() ¤È¤¹¤ë - &foobar ¤ÏÉÔ²Ä ("&" ¤ÏÉÔÍ×) * ¥µ¥Ö¥ë¡¼¥Á¥ó¤ÎÄêµÁ¤Ç¤Ï¥×¥í¥È¥¿¥¤¥×Àë¸À¤ò¹Ô¤¦ - sub foobar($$$) { ... } ¤Î¤è¤¦¤Ë * $_ ¤Ï¤Ç¤¤ë¸Â¤ê»È¤ï¤Ê¤¤ - $_ ¤Ï¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ê¤Î¤Ç´í¸± * open() ¤Ï»È¤ï¤Ê¤¤¡£ use IO::File ¤òÍѤ¤¤Æ my $fh = new IO::File; $fh->open() ¤È¤¹¤ë * ¥Õ¥¡¥¤¥ë¤ÏÍÛ¤ËÊĤ¸¤º¡¢ destructor ¤Ë¤Þ¤«¤»¤ë - $fh->close() ¤·¤Ê¤¤ (¥¹¥³¡¼¥×¤ÇÀ©¸Â¤¹¤ë) * ¥ê¥Õ¥¡¥ì¥ó¥¹¤ÏÂ礤¤Ë³èÍѤ¹¤ë * ´û¸¤Î perl module ¤ò³èÍѤ¹¤ë - ¼ÖÎؤκÆȯÌÀ¤ò¤·¤Ê¤¤ * $| ¤È¤¤¤Ã¤¿ÆüìÊÑ¿ô¤Ï¤Ç¤¤ë¤À¤±ÍѤ¤¤Ê¤¤ - $| ¤Ï STDOUT->autoflush(1) ¤ÇÂåÍѤǤ¤ë * ¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ï¤Ç¤¤ë¤À¤±»È¤ï¤Ê¤¤ * ¥³¡¼¥É¤Ï¤Ç¤¤ë¸Â¤ê¥â¥¸¥å¡¼¥ë²½¤¹¤ë - API¤òÄê¤á¤Æ³ÈÄ¥¤òÍưפˤ¹¤ë * ɬÍפ˱þ¤¸¤Æ Object Oriented Programming ¤ò¼è¤êÆþ¤ì¤ë - ¤¹¤Ù¤Æ¤ò OOP ¤Ç½ñ¤¯¤³¤È¤Ï¤Ê¤¤ * Ť¤Àµµ¬É½¸½¤Ë¤ÏŬµ¹ /x ¥â¥Ç¥£¥Õ¥¡¥¤¥¢¤òŬÍѤ¹¤ë * ÊÑ¿ô¤ò»È¤Ã¤¿Àµµ¬É½¸½¤Ë¤Ï°ÂÁ´¤Ê¤é /o ¥â¥Ç¥£¥Õ¥¡¥¤¥¢¤òŬÍÑ ¤¹¤ë * ¥³¥á¥ó¥È¤Ï±Ñ¸ì¤Ç½ñ¤¯ ̾Á°µ¬Â§ * ¥Æ¥ó¥Ý¥é¥ê¤ÊÊÑ¿ô¤Ï·¿¤òÌä¤ï¤º tmp ¤È¤¤¤¦Ì¾Á°¤Ë¤¹¤ë * for ʸ¤Î¥«¥¦¥ó¥¿¤Ë¤Ï $i, $j, $k ¤òÍѤ¤¤ë - 3Ãʤè¤ê¿¼¤¯¤·¤Ê¤¤¤è¤¦¤Ëµ¤¤ò¤Ä¤±¤ë * ¥µ¥Ö¥ë¡¼¥Á¥ó̾¤ÏÆ°»ì (+ÌÜŪ¸ì)¡¢ÊÑ¿ô̾¤Ï̾»ì - e.g. update_registry() * ¸ì¤ÎÏ¢·ë¤Ë¤Ï¥¢¥ó¥À¡¼¥¹¥³¥¢ ('_') ¤òÍѤ¤¤ë - e.g. get_os_name(), $os_name * ¶É½êÊÑ¿ô¤Î̾Á°¤Ï¾®Ê¸»ú * ¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Î̾Á°¤Ï capitalize ¤·¡¢¥¢¥ó¥À¡¼¥¹¥³¥¢¤ò¾Ê ά¤¹¤ë (Í׸¡Æ¤) - $IndexType * ÇÛÎ󡢥ϥå·¥å¤ÎÊÑ¿ô̾¤ÏÊ£¿ô·Á¤Ë¤¹¤ë (Í׸¡Æ¤) - @files * ÊÑ¿ô̾¤Î¶Ëü¤Ê¾Êά¤Ï¤·¤Ê¤¤ - $on (OS name) ¤Ê¤É¤ÏÉÔ²Ä * ¤¬¡¢É¬Íפ˱þ¤¸¤Æ¾Êά¤¹¤ë (Í׸¡Æ¤) * ¾Êά¤Î¥ë¡¼¥ë¤ÏÌÀ³Î²½¤¹¤ë - file handle -> fh - pointer -> ptr - index -> idx - current -> cur - protocol -> proto - length -> len - string -> str - argument -> arg - source -> src - destination -> dest - control -> ctrl - module -> mod - language -> lang - initialize -> init - variable -> var - ¾¤Ë¤â¤¢¤ì¤ÐÄɲ乤ë * package ¤¬°Û¤Ê¤ì¤ÐƱ¤¸¥µ¥Ö¥ë¡¼¥Á¥ó̾¤òÍѤ¤¤ÆÎɤ¤ ¥¤¥ó¥Ç¥ó¥È * ¥¤¥ó¥Ç¥ó¥È¤Ï 4ʸ»úñ°Ì $foo = 1 + 2 + 3; $bar = ((1 + 2) + 3) * 4; if ($foo == $bar) { print foobar($foo, $bar), "\n"; } else { die "error"; } sub foobar ($$) { my ($foo, $bar) = @_; return $foo + $bar; } Perl´ØÏ¢¥ê¥ó¥¯ * CPAN <ftp://ring.asahi-net.or.jp/archives/lang/perl/CPAN/> * Perl Style <ftp://ftp.dti.ad.jp/pub/lang/CPAN/doc/FMTEYEWTK/style/slide-index.html> * perl5.005_02¤Î¥É¥¥å¥á¥ó¥È <http://www.kt.rim.or.jp/%7ekbk/perl5.005/index.html> * perl5.004_04¤Î¥É¥¥å¥á¥ó¥È <http://www.kt.rim.or.jp/%7ekbk/perl5.doc/index.html> * Perl information memo <http://www.st.rim.or.jp/~cond/perlinfo/index.html> * /pub/IIJ/dist/utashiro/perl directory <ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl> * /pub/lang/CPAN/authors/Hirofumi_Watanabe directory <ftp://ftp.dti.ad.jp/pub/lang/CPAN/authors/Hirofumi_Watanabe> * FMTEYEWTK <ftp://ftp.dti.ad.jp/pub/lang/CPAN/doc/FMTEYEWTK/index.html> * Yahoo! - Computers and Internet:Programming Languages:Perl <http://www.yahoo.co.jp/Computers_and_Internet/Programming_Languages/Perl/> * JPerl for Win32 <http://www.yk.rim.or.jp/~hizumi/perl/index.html> * Index of /archives/lang/perl/CPAN/modules/by-authors/Gurusamy_Sarathy <http://ring.nacsis.ac.jp/archives/lang/perl/CPAN/modules/by-authors/Gurusamy_Sarathy/> * Learning Perl/Tk <http://tanaka-www.cs.titech.ac.jp/~ueki/PerlTk/index.html> * ActiveState Tool Corp. - Professional tools for Perl developers <http://www.activestate.com/> * Index of /archives/lang/perl/CPAN/modules/by-module/Tk <http://ring.nacsis.ac.jp/archives/lang/perl/CPAN/modules/by-module/Tk/> * What's wrong with Perl <http://www.stud.ifi.uio.no/~larsga/download/artikler/perl.html>