| ²é¿´: 1644 | »Ø¸´: 8 | |||||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||||
| µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû | |||||
miRNAÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)
Ë®ÍõÖ®Íõ£¨ÓÞÓÞѧ԰¹ÜÀíÔ±£©
|
[½»Á÷]
perl 5 ½Ì³Ì Á¬ÔØ
|
||||
|
µÚÒ»Õ ¸ÅÊö Ò»¡¢PerlÊÇʲô? £ £ PerlÊÇPractical Extraction and Report LanguageµÄËõд£¬ËüÊÇÓÉLarry WallÉè¼ÆµÄ£¬²¢ÓÉËû²»¶Ï¸üкÍά»¤£¬ÓÃÓÚÔÚUNIX»·¾³Ï±à³Ì¡£ £ £ .Perl¾ßÓи߼¶ÓïÑÔ£¨ÈçC£©µÄÇ¿´óÄÜÁ¦ºÍÁé»îÐÔ¡£ÊÂʵÉÏ£¬Ä㽫¿´µ½£¬ËüµÄÐí¶àÌØÐÔÊÇ´ÓCÓïÑÔÖнèÓÃÀ´µÄ¡£ £ £ .Óë½Å±¾ÓïÑÔÒ»Ñù£¬Perl²»ÐèÒª±àÒëÆ÷ºÍÁ´½ÓÆ÷À´ÔËÐдúÂ룬ÄãÒª×öµÄÖ»ÊÇд³ö³ÌÐò²¢¸æËßPerlÀ´ÔËÐжøÒÑ¡£ÕâÒâζ×ÅPerl¶ÔÓÚСµÄ±à³ÌÎÊÌâµÄ¿ìËÙ½â¾ö·½°¸ºÍΪ´óÐÍʼþ´´½¨ÔÐÍÀ´²âÊÔDZÔڵĽâ¾ö·½°¸ÊÇÊ®·ÖÀíÏëµÄ¡£ £ £ .PerlÌṩ½Å±¾ÓïÑÔ£¨ÈçsedºÍawk£©µÄËùÓй¦ÄÜ£¬»¹¾ßÓÐËüÃÇËù²»¾ß±¸µÄºÜ¶à¹¦ÄÜ¡£Perl»¹Ö§³Ösedµ½Perl¼°awdµ½PerlµÄ·ÒëÆ÷¡£ £ £ ¼ò¶øÑÔÖ®£¬PerlÏóCÒ»ÑùÇ¿´ó£¬Ïóawk¡¢sedµÈ½Å±¾ÃèÊöÓïÑÔÒ»Ñù·½±ã¡£ ¶þ¡¢PerlÔÚÄÄÀï? £ £ Perlͨ³£Î»ÓÚ/usr/local/bin/perl»ò/usr/bin/perlÖС£Äã¿ÉÒÔÔÚInternetÓÃÄäÃûFTPÃâ·ÑµÃµ½Ëü£¬Èçftp://prep.ai.mit.edu/pub/gnu/perl-5.004.tar.gz¡£ £ £ °²×°¹ý³ÌΪ£º £ £ (1)½âѹ£º £ £ $gunzip perl-5.004.tar.gz £ £ $tar xvf - £ £ $make makefile £ £ (3)·ÅÖ㺠£ £ ½«±àÒëÉú³ÉµÄ¿ÉÖ´ÐÐÎļþ¿½±´µ½¿ÉÖ´ÐÐÎļþͨ³£ËùÔÚĿ¼£¬È磺 £ £ $copy £ £ ×¢£ºÕâÐèҪϵͳ¹ÜÀíԱȨÏÞ¡£ ±±ÃÀ µØÖ·Ä¿Â¼ ftp.netlabs.comIPµØÖ·£º192.94.48.152 Ŀ¼ /pub/outgoing/perl5.0 ftp.cis.ufl.eduIPµØÖ·£º 128.227.100.198 Ŀ¼ /pub/perl/src/5.0 ftp.uu.netIPµØÖ·£º 192.48.96.9 Ŀ¼ /languages/perl ftp.khoros.unm.eduIPµØÖ·£º 198.59.155.28 Ŀ¼ /pub/perl ftp.cbi.tamucc.eduIPµØÖ·£º 165.95.1.3 Ŀ¼ /pub/duff/Perl ftp.metronet.comIPµØÖ·£º 192.245.137.1 Ŀ¼ /pub/perl/sources genetics.upenn.eduIPµØÖ·£º 128.91.200.37 Ŀ¼ /perl5 Å·ÖÞ SiteLocation ftp.cs.ruu.nlIPµØÖ·£º 131.211.80.17 Ŀ¼ /pub/PERL/perl5.0/src ftp.funet.fiIPµØÖ·£º 128.214.248.6 Ŀ¼ /pub/languages/perl/ports/perl5 ftp.zrz.tu-berlin.deIPµØÖ·£º 130.149.4.40 Ŀ¼ /pub/unix/perl src.doc.ic.ac.ukIPµØÖ·£º 146.169.17.5 Ŀ¼ /packages/perl5 °ÄÖÞ SiteLocation sungear.mame.mu.oz.auIPµØÖ·£º 128.250.209.2 Ŀ¼ /pub/perl/src/5.0 ÄÏÃÀ SiteLocation ftp.inf.utfsm.clIPµØÖ·£º 146.83.198.3 Ŀ¼ /pub/gnu Èý¡¢ÔËÐÐ £ £ ÓÃÎı¾±à¼Æ÷±à¼ºÃÄãµÄPerl³ÌÐò£¬¼ÓÉÏ¿ÉÖ´ÐÐÊôÐÔ£º$chmod +x ×¢£ºÄãµÄ³ÌÐòµÄµÚÒ»ÐбØÐëΪ#!/usr/local/bin/perl£¨perlËùÔÚλÖã©¡£ ËÄ¡¢×¢ÊÍ£º £ £ ×¢Ê͵ķ½·¨ÎªÔÚÓï¾äµÄ¿ªÍ·ÓÃ×Ö·û#£¬È磺 £ £ # this line is a comment £ £ ×¢£º½¨Òé¾³£Ê¹ÓÃ×¢ÊÍʹÄãµÄ³ÌÐòÒ×¶Á£¬ÕâÊǺõıà³Ìϰ¹ß¡£ µÚ¶þÕ ¼òµ¥±äÁ¿ »ù±¾ÉÏ£¬¼òµ¥±äÁ¿¾ÍÊÇÒ»¸öÊý¾Ýµ¥Ôª£¬Õâ¸öµ¥Ôª¿ÉÒÔÊÇÊý×Ö»ò×Ö·û´®¡£ Ò»¡¢ÕûÐÍ 1¡¢ÕûÐÍ PERL×î³£Óõļòµ¥±äÁ¿£¬ÓÉÓÚÆäÓëÆäËüÓïÑÔ»ù±¾Ïàͬ£¬²»ÔÙ׸Êö¡£ £ Àý£º £ $x = 12345; £ if (1217 + 116 == 1333) { £ # statement block goes here £ } ÕûÐ͵ÄÏÞÖÆ£º £ PERLʵ¼ÊÉϰÑÕûÊý´æÔÚÄãµÄ¼ÆËã»úÖеĸ¡µã¼Ä´æÆ÷ÖУ¬ËùÒÔʵ¼ÊÉϱ»µ±×÷¸¡µãÊý¿´´ý¡£ÔÚ¶àÊý¼ÆËã»úÖУ¬¸¡µã¼Ä´æÆ÷¿ÉÒÔ´æÖüÔ¼16λÊý×Ö£¬³¤Óڴ˵ı»¶ªÆú¡£ÕûÊýʵΪ¸¡µãÊýµÄÌØÀý¡£ 2¡¢8½øÖƺÍ16½øÖÆÊý 8½øÖÆÒÔ0´òÍ·£¬16½øÖÆÒÔ0x´òÍ·¡£ Àý£º$var1 = 047; (µÈÓÚÊ®½øÖƵÄ39) $var2 = 0x1f; (µÈÓÚÊ®½øÖƵÄ31) ¶þ¡¢¸¡µãÊý Èç 11.4 ¡¢ -0.3 ¡¢.3 ¡¢ 3. ¡¢ 54.1e+02 ¡¢ 5.41e03 ¸¡µã¼Ä´æÆ÷ͨ³£²»Äܾ«È·µØ´æÖü¸¡µãÊý£¬´Ó¶ø²úÉúÎó²î£¬ÔÚÔËËãºÍ±È½ÏÖÐÒªÌØ±ð×¢Òâ¡£Ö¸ÊýµÄ·¶Î§Í¨³£Îª-309µ½+308¡£ Àý£º #!/usr/local/bin/perl $value = 9.01e+21 + 0.01 - 9.01e+21; print ("first value is ", $value, "\n" ; $value = 9.01e+21 - 9.01e+21 + 0.01; print ("second value is ", $value, "\n" ; --------------------------------------------------------- $ program3_3 first value is 0 second value is 0.01 Èý¡¢×Ö·û´® ¹ßÓÃCµÄ³ÌÐòԱҪעÒ⣬ÔÚPERLÖУ¬×Ö·û´®µÄĩβ²¢²»º¬ÓÐÒþº¬µÄNULL×Ö·û£¬NULL×Ö·û¿ÉÒÔ³öÏÖÔÚ´®µÄÈκÎλÖᣠ. Ë«ÒýºÅÄÚµÄ×Ö·û´®ÖÐÖ§³Ö¼òµ¥±äÁ¿Ìæ»»£¬ÀýÈ磺 $number = 11; $text = "This text contains the number $number."; Ôò$textµÄÄÚÈÝΪ£º"This text contains the number 11." .Ë«ÒýºÅÄÚµÄ×Ö·û´®ÖÐÖ§³ÖתÒå×Ö·û Table 3.1. Escape sequences in strings. Escape SequenceDescription \aBell (beep) \bBackspace \cnThe Ctrl+n character \eEscape \EEnds the effect of \L, \U or \Q \fForm feed \lForces the next letter into lowercase \LAll following letters are lowercase \nNewline \rCarriage return \QDo not look for special pattern characters \tTab \uForce next letter into uppercase \UAll following letters are uppercase \vVertical tab \L¡¢\U¡¢\Q¹¦ÄÜ¿ÉÒÔÓÉ\E¹Ø±Õµô£¬È磺 $a = "T\LHIS IS A \ESTRING"; # same as "This is a STRING" .ÒªÔÚ×Ö·û´®Öаüº¬Ë«ÒýºÅ»ò·´Ð±Ïߣ¬ÔòÔÚÆäǰ¼ÓÒ»¸ö·´Ð±Ïߣ¬·´Ð±Ïß»¹¿ÉÒÔÈ¡Ïû±äÁ¿Ìæ»»£¬È磺 $res = "A quote \" and A backslash \\"; $result = 14; print ("The value of \$result is $result.\n" µÄ½á¹ûΪ£º The value of $result is 14. .¿ÉÓÃ\nnn(8½øÖÆ)»ò\xnn(16½øÖÆ)À´±íʾASCII×Ö·û£¬È磺 $result = "\377"; # this is the character 255,or EOF $result = "\xff"; # this is also 255 .µ¥ÒýºÅ×Ö·û´® µ¥ÒýºÅ×Ö·û´®ÓëË«ÒýºÅ×Ö·û´®ÓÐÁ½¸öÇø±ð£¬Ò»ÊÇûÓбäÁ¿Ìæ»»¹¦ÄÜ£¬¶þÊÇ·´Ð±Ïß²»Ö§³ÖתÒå×Ö·û£¬¶øÖ»ÔÚ°üº¬µ¥ÒýºÅºÍ·´Ð±ÏßʱÆð×÷Óᣵ¥ÒýºÅÁíÒ»¸öÌØÐÔÊÇ¿ÉÒÔ¿ç¶àÐУ¬È磺 $text = 'This is two lines of text '; ÓëϾäµÈЧ£º $text = "This is two\nlines of text\n"; .×Ö·û´®ºÍÊýÖµµÄ»¥Ïàת»» Àý1£º $string = "43"; $number = 28; $result = $string + $number; # $result = 71 Èô×Ö·û´®Öк¬ÓзÇÊý×ÖµÄ×Ö·û£¬Ôò´Ó×óÆðÖÁµÚÒ»¸ö·ÇÊý×ÖµÄ×Ö·û£¬È磺 $result = "hello" * 5; # $result = 0 $result = "12a34" +1; # $result = 13 .±äÁ¿³õʼֵ ÔÚPERLÖУ¬ËùÓеļòµ¥±äÁ¿¶¼ÓÐȱʡ³õʼֵ£º""£¬¼´¿Õ×Ö·û¡£µ«Êǽ¨Ò鏸ËùÓбäÁ¿¸³³õÖµ£¬·ñÔòµ±³ÌÐò±äµÃ´ó¶ø¸´ÔӺ󣬺ÜÈÝÒ׳öÏÖ²»¿ÉÔ¤ÁÏÇÒºÜÄѵ÷ÊԵĴíÎó¡££¨Î´Í꣩ [ Last edited by »ÃÓ°ÎÞºÛ on 2006-11-12 at 08:31 ] |
» ÊÕ¼±¾ÌûµÄÌÔÌûר¼ÍƼö
ÏȽø²ÄÁÏÓë·Ö×ÓÄ£Äâ | perlÓïÑÔרÀ¸ |
» ²ÂÄãϲ»¶
281Çóµ÷¼Á£¨0805£©
ÒѾÓÐ8È˻ظ´
»·¾³ÁìÓòÈ«¹úÖØµãʵÑéÊÒÕÐÊÕ²©Ê¿1-2Ãû
ÒѾÓÐ3È˻ظ´
²ÄÁÏר˶306Ó¢Ò»Êý¶þ
ÒѾÓÐ10È˻ظ´
301Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
Ò»Ö¾Ô¸Ìì½ò´óѧ»¯Ñ§¹¤ÒÕרҵ£¨081702£©315·ÖÇóµ÷¼Á
ÒѾÓÐ7È˻ظ´
302Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
26²©Ê¿ÉêÇë
ÒѾÓÐ3È˻ظ´
268Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
311Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
±»ÎÒÑÔÖУºÐÂÄ£°å²»Ç¿µ÷¸ñʽÁË£¬¼Ùר¼Ò¿ªÊ¼¹Ü¸ñʽÁË
ÒѾÓÐ4È˻ظ´

miRNA
ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)
Ë®ÍõÖ®Íõ£¨ÓÞÓÞѧ԰¹ÜÀíÔ±£©
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ¹ó±ö: 16.6
- ½ð±Ò: 13289.9
- ºì»¨: 4
- Ìû×Ó: 4967
- ÔÚÏß: 10.3Сʱ
- ³æºÅ: 56231
- ×¢²á: 2005-01-07
- רҵ: ½ðÊôÓлú»¯Ñ§
¡ï ¡ï
yuefour(½ð±Ò+2):ÐÁ¿àÁË
yuefour(½ð±Ò+2):ÐÁ¿àÁË
|
µÚ¾ÅÕ ¹ØÁªÊý×é/¹þÏ£±í Ò»¡¢Êý×é±äÁ¿µÄÏÞÖÆ £ ÔÚÇ°Ãæ½²µÄÊý×é±äÁ¿ÖУ¬¿ÉÒÔͨ¹ýϱê·ÃÎÊÆäÖеÄÔªËØ¡£ÀýÈ磬ÏÂÁÐÓï¾ä·ÃÎÊÊý×é@arrayµÄµÚÈý¸öÔªËØ£º £ $scalar = $array[2]; £ ËäÈ»Êý×éºÜÓÐÓ㬵«ËüÃÇÓÐÒ»¸öÏÔÖøÈ±ÏÝ£¬¼´ºÜÄѼÇסÄĸöÔªËØ´æÖüµÄʲôÄÚÈÝ¡£¼ÙÈçÎÒÃÇÀ´Ð´Ò»¸ö³ÌÐò¼ÆËãijÎļþÖÐÊ××Öĸ´óдµÄµ¥´Ê³öÏֵĴÎÊý£¬ÓÃÊý×éÀ´ÊµÏ־ͱȽÏÀ§ÄÑ£¬³ÌÐò´úÂëÈçÏ£º 1 : #!/usr/local/bin/perl 2 : 3 : while ($inputline = 4 :£ while ($inputline =~ /\b[A-Z]\S+/g) { 5 :£ £ $word = $Content$amp;; 6 :£ £ $word =~ s/[;.,:-]$//; # remove punctuation 7 :£ £ for ($count = 1; $count <= @wordlist; 8 :£ £ £ £ $count++) { 9 :£ £ £ $found = 0; 10:£ £ £ if ($wordlist[$count-1] eq $word) { 11:£ £ £ £ $found = 1; 12:£ £ £ £ $wordcount[$count-1] += 1; 13:£ £ £ £ last; 14:£ £ £ } 15:£ £ } 16:£ £ if ($found == 0) { 17:£ £ £ $oldlength = @wordlist; 18:£ £ £ $wordlist[$oldlength] = $word; 19:£ £ £ $wordcount[$oldlength] = 1; 20:£ £ } 21:£ } 22: } 23: print ("Capitalized words and number of occurrences:\n"); 24: for ($count = 1; $count <= @wordlist; $count++) { 25:£ print ("$wordlist[$count-1]: $wordcount[$count-1]\n"); 26: } £ ÔËÐнá¹ûÈçÏ£º Here is a line of Input. This Input contains some Capitalized words. ^D Capitalized words and number of occurrences: Here: 1 Input: 2 This: 1 Capitalized: 1 £ Õâ¸ö³ÌÐòÿ´Î´Ó±ê×¼ÊäÈëÎļþ¶ÁÒ»ÐÐÎÄ×Ö£¬µÚËÄÐÐÆðµÄÑ»·Æ¥ÅäÿÐÐÖÐÊ××Öĸ´óдµÄµ¥´Ê£¬Ã¿ÕÒµ½Ò»¸öÑ»·Ò»´Î£¬¸³¸ø¼òµ¥±äÁ¿$word¡£ÔÚµÚÁùÐÐÖÐÈ¥µô±êµãºó£¬²é¿´¸Ãµ¥´ÊÊÇ·ñÔø³öÏÖ¹ý£¬7~15ÐÐÖÐÔÚ@wordlistÖа¤¸öÔªËØ×ö´Ë¼ì²é£¬Èç¹ûij¸öÔªËØÓë$wordÏàµÈ£¬@wordcountÖÐÏàÓ¦µÄÔªËØ¾ÍÔö¼ÓÒ»¸öÊý¡£Èç¹ûûÓгöÏÖ¹ý£¬¼´@wordlistÖÐûÓÐÔªËØÓë$wordÏàµÈ£¬16~20Ðиø@wordlistºÍ@wordcountÔö¼ÓÒ»¸öÐÂÔªËØ¡£ ¶þ¡¢¶¨Òå £ ÕýÈçÄãËù¿´µ½µÄ£¬Ê¹ÓÃÊý×éÔªËØ²úÉúÁËһЩÎÊÌâ¡£Ê×ÏÈ£¬@wordlistÖÐÄĸöÔªËØ¶ÔÓ¦×ÅÄĸöµ¥´Ê²¢²»Ã÷ÏÔ£»¸üÔãµÄÊÇ£¬Ã¿¶Á½øÒ»¸öе¥´Ê£¬³ÌÐò±ØÐë¼ì²éÕû¸öÁбí²ÅÄÜÖªµÀ¸Ãµ¥´ÊÊÇ·ñÔø¾³öÏÖ¹ý£¬µ±Áбí±äµÃ½Ï´óʱ£¬ÕâÊǺܺķÑʱ¼äµÄ¡£ £ ÕâЩÎÊÌâ²úÉúµÄÔÒòÊÇÊý×éÔªËØÍ¨¹ýÊý×Öϱê·ÃÎÊ£¬ÎªÁ˽â¾öÕâÀàÎÊÌ⣬Perl¶¨ÒåÁËÁíÒ»ÖÖÊý×飬¿ÉÒÔÓÃÈÎÒâ¼òµ¥±äÁ¿ÖµÀ´·ÃÎÊÆäÔªËØ£¬ÕâÖÖÊý×é½Ð×ö¹ØÁªÊý×飬Ҳ½Ð¹þÏ£±í¡£ £ ΪÁËÇø·Ö¹ØÁªÊý×é±äÁ¿ÓëÆÕͨµÄÊý×é±äÁ¿£¬PerlʹÓÃ%×÷ΪÆäÊ××Ö·û£¬¶øÊý×é±äÁ¿ÒÔ@´òÍ·¡£ÓëÆäËü±äÁ¿ÃûÒ»Ñù£¬%ºóµÄµÚÒ»¸ö×Ö·û±ØÐëΪ×Öĸ£¬ºóÐø×Ö·û¿ÉÒÔΪ×Öĸ¡¢Êý×Ö»òÏ»®Ïß¡£ Èý¡¢·ÃÎʹØÁªÊý×éµÄÔªËØ £ ¹ØÁªÊý×éµÄϱê¿ÉÒÔΪÈκμòµ¥/±êÁ¿Öµ£¬·ÃÎʵ¥¸öÔªËØÊ±ÒÔ$·ûºÅ´òÍ·£¬Ï±êÓôóÀ¨ºÅΧÆðÀ´¡£ÀýÈ磺 $fruit $number $integer £ ¼òµ¥±äÁ¿Ò²¿É×÷Ϊϱ꣬È磺 £ $fruit ËÄ¡¢Ôö¼ÓÔªËØ £ ´´½¨Ò»¸ö¹ØÁªÊý×éÔªËØ×î¼òµ¥µÄ·½·¨ÊǸ³Öµ£¬ÈçÓï¾ä$fruit = 1£» °Ñ1¸³¸ø¹ØÁªÊý×é%fruitϱêΪbananasµÄÔªËØ£¬Èç¹û¸ÃÔªËØ²»´æÔÚ£¬Ôò±»´´½¨£¬Èç¹ûÊý×é%fruit´ÓδʹÓùý£¬Ò²±»´´½¨¡£ £ ÕâÒ»ÌØÐÔʹµÃ¹ØÁªÊý×éºÜÈÝÒ×ÓÃÓÚ¼ÆÊý¡£ÏÂÃæÎÒÃÇÓùØÁªÊý×é¸ÄдÉÏÃæµÄ³ÌÐò£¬×¢ÒâʵÏÖͬÑùµÄ¹¦Äܴ˳ÌÐò¼ò»¯ÁËÐí¶à¡£ 1 : #!/usr/local/bin/perl 2 : 3 : while ($inputline = ) { 4 :£ while ($inputline =~ /\b[A-Z]\S+/g) { 5 :£ £ $word = $Content$amp;; 6 :£ £ $word =~ s/[;.,:-]$//; # remove punctuation 7 :£ £ $wordlist += 1; 8 :£ } 9 : } 10: print ("Capitalized words and number of occurrences:\n"); 11: foreach $capword (keys(%wordlist)) { 12:£ print ("$capword: $wordlist\n"); 13: } £ ÔËÐнá¹ûÈçÏ£º Here is a line of Input. This Input contains some Capitalized words. ^D Capitalized words and number of occurrences: This: 1 Input: 2 Here: 1 Capitalized: 1 £ Äã¿ÉÒÔ¿´µ½£¬Õâ´Î³ÌÐò¼òµ¥¶àÁË£¬¶ÁÈ¡ÊäÈë²¢´æÖü¸÷µ¥´ÊÊýÄ¿´Ó20ÐмõÉÙµ½ÁË7ÐС£ £ ±¾³ÌÐòÓùØÁªÊý×é%wordlist¸ú×ÙÊ××Öĸ´óдµÄµ¥´Ê£¬Ï±ê¾ÍÓõ¥´Ê±¾Éí£¬ÔªËØÖµÎª¸Ãµ¥´Ê³öÏֵĴÎÊý¡£µÚ11ÐÐʹÓÃÁËÄÚǶº¯Êýkeys()¡£Õâ¸öº¯Êý·µ»Ø¹ØÁªÊý×éµÄϱêÁÐ±í£¬foreachÓï¾ä¾ÍÓôËÁбíÑ»·¡£ £ ×¢£º¹ØÁªÊý×é×ÜÊÇËæ»ú´æÖüµÄ£¬Òò´Ëµ±ÄãÓÃkeys()·ÃÎÊÆäËùÓÐÔªËØÊ±£¬²»±£Ö¤ÔªËØÒÔÈκÎ˳Ðò³öÏÖ£¬ÌرðÖµµÃÒ»ÌáµÄÊÇ£¬ËüÃDz»»áÒÔ±»´´½¨µÄ˳Ðò³öÏÖ¡£ £ ÒªÏë¿ØÖÆ¹ØÁªÊý×éÔªËØ³öÏֵĴÎÐò£¬¿ÉÒÔÓÃsort()º¯Êý¶Ôkeys()·µ»ØÖµ½øÐÐÅÅÁУ¬È磺 foreach $capword (sort keys(%wordlist)) { print ("$capword: $wordlist\n"); } Îå¡¢´´½¨¹ØÁªÊý×é £ ¿ÉÒÔÓõ¥¸ö¸³ÖµÓï¾ä´´½¨¹ØÁªÊý×飬È磺 £ %fruit = ("apples",17,"bananas",9,"oranges","none"); £ ´ËÓï¾ä´´½¨µÄ¹ØÁªÊý×麬ÓÐÏÂÃæÈý¸öÔªËØ£º ϱêΪapplesµÄÔªËØ£¬ÖµÎª17 ϱêΪbananasµÄÔªËØ£¬ÖµÎª9 ϱêΪorangesµÄÔªËØ£¬ÖµÎªnone £ ×¢£ºÓÃÁÐ±í¸ø¹ØÁªÊý×鸳ֵʱ£¬Perl5ÔÊÐíʹÓÃ"=>"»ò","À´·Ö¸ôϱêÓëÖµ£¬ÓÃ"=>"¿É¶ÁÐÔ¸üºÃЩ£¬ÉÏÃæÓï¾äµÈЧÓÚ£º £ %fruit = ("apples"=>17,"bananas"=>9,"oranges"=>"none"); Áù¡¢´ÓÊý×é±äÁ¿¸´ÖƵ½¹ØÁªÊý×é £ ÓëÁбíÒ»Ñù£¬Ò²¿ÉÒÔͨ¹ýÊý×é±äÁ¿´´½¨¹ØÁªÊý×飬µ±È»£¬ÆäÔªËØÊýĿӦ¸ÃΪżÊý£¬È磺 £ @fruit = ("apples",17,"bananas",9,"oranges","none"); £ %fruit = @fruit; £ ·´Ö®£¬¿ÉÒ԰ѹØÁªÊý×鸳¸øÊý×é±äÁ¿£¬È磺 £ %fruit = ("grapes",11,"lemons",27); £ @fruit = %fruit; £ ×¢Ò⣬´ËÓï¾äÖÐÔªËØ´ÎÐò䶨Ò壬ÄÇôÊý×é±äÁ¿@fruit¿ÉÄÜΪ("grapes",11,"lemons",27)»ò("lemons",27,"grapes",11)¡£ £ ¹ØÁªÊý×é±äÁ¿Ö®¼ä¿ÉÒÔÖ±½Ó¸³Öµ£¬È磺%fruit2 = %fruit1; »¹¿ÉÒÔ°ÑÊý×é±äÁ¿Í¬Ê±¸³¸øÒ»Ð©¼òµ¥±äÁ¿ºÍÒ»¸ö¹ØÁªÊý×é±äÁ¿£¬È磺 £ ($var1, $var2, %myarray) = @list; £ ´ËÓï¾ä°Ñ@listµÄµÚÒ»¸öÔªËØ¸³¸ø$var1£¬µÚ¶þ¸ö¸³¸ø$var2£¬ÆäÓàµÄ¸³¸ø%myarray¡£ £ ×îºó£¬¹ØÁªÊý×é¿ÉÒÔͨ¹ý·µ»ØÖµÎªÁбíµÄÄÚǶº¯Êý»òÓû§¶¨ÒåµÄ×Ó³ÌÐòÀ´´´½¨£¬ÏÂÀýÖаÑsplit()º¯ÊýµÄ·µ»ØÖµ--Ò»¸öÁбí--¸³¸øÒ»¸ö¹ØÁªÊý×é±äÁ¿¡£ 1: #!/usr/local/bin/perl 2: 3: $inputline = 4: $inputline =~ s/^\s+|\s+\n$//g; 5: %fruit = split(/\s+/, $inputline); 6: print ("Number of bananas: $fruit\n"); £ ÔËÐнá¹ûÈçÏ£º oranges 5 apples 7 bananas 11 cherries 6 Number of bananas: 11 Æß¡¢ÔªËصÄÔöɾ £ Ôö¼ÓÔªËØÒѾ½²¹ý£¬¿ÉÒÔͨ¹ý¸øÒ»¸öδ³öÏÖ¹ýµÄÔªËØ¸³ÖµÀ´Ïò¹ØÁªÊý×éÖÐÔö¼ÓÐÂÔªËØ£¬Èç$fruit = 1;´´½¨Ï±êΪlime¡¢ÖµÎª1µÄÐÂÔªËØ¡£ £ ɾ³ýÔªËØµÄ·½·¨ÊÇÓÃÄÚǶº¯Êýdelete£¬ÈçÓûɾ³ýÉÏÊöÔªËØ£¬Ôò£º £ delete ($fruit); ×¢Ò⣺ 1¡¢Ò»¶¨ÒªÊ¹ÓÃdeleteº¯ÊýÀ´É¾³ý¹ØÁªÊý×éµÄÔªËØ£¬ÕâÊÇΨһµÄ·½·¨¡£ 2¡¢Ò»¶¨²»Òª¶Ô¹ØÁªÊý×éʹÓÃÄÚǶº¯Êýpush¡¢pop¡¢shift¼°splice£¬ÒòΪÆäÔªËØÎ»ÖÃÊÇËæ»úµÄ¡£ °Ë¡¢ÁгöÊý×éµÄË÷ÒýºÍÖµ £ ÉÏÃæÒѾÌáµ½£¬keys()º¯Êý·µ»Ø¹ØÁªÊý×éϱêµÄÁÐ±í£¬È磺 %fruit = ("apples", 9, £ £ £ £ "bananas", 23, £ £ £ £ "cherries", 11); @fruitsubs = keys(%fruits); £ ÕâÀ@fruitsubs±»¸³¸øapples¡¢bananas¡¢cherries¹¹³ÉµÄÁÐ±í£¬ÔÙ´ÎÌáÇë×¢Ò⣬´ËÁбíûÓдÎÐò£¬ÈôÏë°´×Öĸ˳ÐòÅÅÁУ¬¿ÉʹÓÃsort()º¯Êý¡£ £ @fruitindexes = sort keys(%fruits); £ ÕâÑù½á¹ûΪ("apples","bananas","cherries")¡£ÀàËÆµÄ£¬ÄÚǶº¯Êývalues()·µ»Ø¹ØÁªÊý×éÖµµÄÁÐ±í£¬È磺 %fruit = ("apples", 9, £ £ £ £ £ "bananas", 23, £ £ £ £ £ "cherries", 11); @fruitvalues = values(%fruits); £ ÕâÀ@fruitvalues¿ÉÄܵĽá¹ûΪ(9,23.11)£¬´ÎÐò¿ÉÄܲ»Í¬¡£ ¾Å¡¢ÓùØÁªÊý×éÑ»· £ Ç°ÃæÒѾ³öÏÖ¹ýÀûÓÃkeys()º¯ÊýµÄforeachÑ»·Óï¾ä£¬ÕâÖÖÑ»·Ð§ÂʱȽϵͣ¬ÒòΪÿ·µ»ØÒ»¸öϱ꣬»¹µÃÔÙȥѰÕÒÆäÖµ£¬È磺 foreach $holder (keys(%records)){ $record = $records; } £ PerlÌṩһÖÖ¸üÓÐЧµÄÑ»··½Ê½£¬Ê¹ÓÃÄÚǶº¯Êýeach()£¬È磺 %records = ("Maris", 61, "Aaron", 755, "Young", 511); while (($holder, $record) = each(%records)) { # stuff goes here } £ each()º¯Êýÿ´Î·µ»ØÒ»¸öË«ÔªËØµÄÁÐ±í£¬ÆäµÚÒ»¸öÔªËØÎªÏ±꣬µÚ¶þ¸öÔªËØÎªÏàÓ¦µÄÖµ£¬×îºó·µ»ØÒ»¸ö¿ÕÁÐ±í¡£ £ ×¢Ò⣺ǧÍò²»ÒªÔÚeach()Ñ»·ÖÐÌí¼Ó»òɾ³ýÔªËØ£¬·ñÔò»á²úÉú²»¿ÉÔ¤Áϵĺó¹û¡£ Ê®¡¢ÓùØÁªÊý×é´´½¨Êý¾Ý½á¹¹ £ ÓùØÁªÊý×é¿ÉÒÔÄ£ÄâÔÚÆäËü¸ß¼¶ÓïÑÔÖг£¼ûµÄ¶àÖÖÊý¾Ý½á¹¹£¬±¾½Ú½²ÊöÈçºÎÓÃ֮ʵÏÖ£ºÁ´±í¡¢½á¹¹ºÍÊ÷¡£ 1¡¢(µ¥)Á´±í £ Á´±íÊÇÒ»ÖֱȽϼòµ¥µÄÊý¾Ý½á¹¹£¬¿ÉÒÔ°´Ò»¶¨µÄ´ÎÐò´æÖüÖµ¡£Ã¿¸öÔªËØº¬ÓÐÁ½¸öÓò£¬Ò»¸öÊÇÖµ£¬Ò»¸öÊÇÒýÓ㨻ò³ÆÖ¸Õ룩£¬Ö¸ÏòÁ´±íÖÐÏÂÒ»¸öÔªËØ¡£Ò»¸öÌØÊâµÄÍ·Ö¸ÕëÖ¸ÏòÁ´±íµÄµÚÒ»¸öÔªËØ¡£ £ ÔÚPerlÖУ¬Á´±íºÜÈÝÒ×ÓùØÁªÊý×éʵÏÖ£¬ÒòΪһ¸öÔªËØµÄÖµ¿ÉÒÔ×÷ΪÏÂÒ»¸öÔªËØµÄË÷Òý¡£ÏÂÀýΪ°´×Öĸ˳ÐòÅÅÁеĵ¥´ÊÁ´±í£º %words = ("abel", "baker", £ £ £ £ "baker", "charlie", £ £ £ £ "charlie", "delta", £ £ £ £ "delta", ""); $header = "abel"; £ ÉÏÀýÖУ¬¼òµ¥±äÁ¿$headerº¬ÓÐÁ´±íÖеÚÒ»¸öµ¥´Ê£¬ËüͬʱҲÊǹØÁªÊý×éµÚÒ»¸öÔªËØµÄϱ꣬ÆäÖµbakerÓÖÊÇÏÂÒ»¸öÔªËØµÄϱ꣬ÒÀ´ËÀàÍÆ¡£ £ ϱêΪdeltaµÄ×îºóÒ»¸öÔªËØµÄֵΪ¿Õ´®£¬±íʾÁ´±íµÄ½áÊø¡£ £ ÔÚ½«Òª´¦ÀíµÄÊý¾Ý¸öÊýδ֪»òÆäËæ³ÌÐòÔËÐжøÔö³¤µÄÇé¿öÏ£¬Á´±íÊ®·ÖÓÐÓá£ÏÂÀýÓÃÁ´±í°´×Öĸ´ÎÐòÊä³öÒ»¸öÎļþÖеĵ¥´Ê¡£ 1 : #!/usr/local/bin/perl 2 : 3 : # initialize list to empty 4 : $header = ""; 5 : while ($line = 6 :£ # remove leading and trailing spaces 7 :£ $line =~ s/^\s+|\s+$//g; 8 :£ @words = split(/\s+/, $line); 9 :£ foreach $word (@words) { 10:£ £ # remove closing punctuation, if any 11:£ £ $word =~ s/[.,;:-]$//; 12:£ £ # convert all words to lower case 13:£ £ $word =~ tr/A-Z/a-z/; 14:£ £ &add_word_to_list($word); 15:£ } 16: } 17: &print_list; 18: 19: sub add_word_to_list { 20:£ local($word) = @_; 21:£ local($pointer); 22: 23:£ # if list is empty, add first item 24:£ if ($header eq "") { 25:£ £ $header = $word; 26:£ £ $wordlist = ""; 27:£ £ return; 28:£ } 29:£ # if word identical to first element in list, 30:£ # do nothing 31:£ return if ($header eq $word); 32:£ # see whether word should be the new 33:£ # first word in the list 34:£ if ($header gt $word) { 35:£ £ $wordlist = $header; 36:£ £ $header = $word; 37:£ £ return; 38:£ } 39:£ # find place where word belongs 40:£ $pointer = $header; 41:£ while ($wordlist ne "" && 42:£ £ $wordlist lt $word) { 43:£ £ $pointer = $wordlist; 44:£ } 45:£ # if word already seen, do nothing 46:£ return if ($word eq $wordlist); 47:£ $wordlist = $wordlist; 48:£ $wordlist = $word; 49: } 50: 51: sub print_list { 52:£ local ($pointer); 53:£ print ("Words in this file:\n"); 54:£ $pointer = $header; 55:£ while ($pointer ne "") { 56:£ £ print ("$pointer\n"); 57:£ £ $pointer = $wordlist; 58:£ } 59: } £ ÔËÐнá¹ûÈçÏ£º Here are some words. Here are more words. Here are still more words. ^D Words in this file: are here more some still words £ ´Ë³ÌÐò·ÖΪÈý¸ö²¿·Ö£º Ö÷³ÌÐò£º¶ÁÈ¡ÊäÈ벢ת»»µ½ÏàÓ¦µÄ¸ñʽ¡£ ×Ó³ÌÐò£ºadd_word_to_list£¬½¨Á¢ÅÅÐòµ¥´ÊÁ´±í¡£ ×Ó³ÌÐò£ºprint_list£¬Êä³öµ¥´ÊÁ´±í £ µÚ3~17ÐÐΪÖ÷³ÌÐò£¬µÚ4Ðгõʼ»¯Á´±í£¬½«±íÍ·±äÁ¿$headerÉèΪ¿Õ´®£¬µÚ5ÐÐÆðµÄÑ»·Ã¿´Î¶ÁȡһÐÐÊäÈ룬µÚ7ÐÐÈ¥µôÍ·¡¢Î²µÄ¿Õ¸ñ£¬µÚ8Ðн«¾ä×Ó·Ö¸î³Éµ¥´Ê¡£9~15ÐеÄÄÚÑ»·Ã¿´Î´¦ÀíÒ»¸öµ¥´Ê£¬Èç¹û¸Ãµ¥´ÊµÄ×îºóÒ»¸ö×Ö·ûÊDZêµã·ûºÅ£¬¾ÍÈ¥µô¡£µÚ13Ðаѵ¥´Êת»»³ÉȫСдÐÎʽ£¬µÚ14Ðд«µÝ¸ø×Ó³ÌÐòadd_word_to_list¡£ £ ×Ó³ÌÐòadd_word_to_listÏÈÔÚµÚ24Ðд¦¼ì²éÁ´±íÊÇ·ñΪ¿Õ¡£Èç¹ûÊÇ£¬µÚ25Ðн«µ¥´Ê¸³¸ø$header£¬26Ðд´½¨Á´±íµÚÒ»¸öÔªËØ£¬´æÖüÔÚ¹ØÁªÊý×é%wordlistÖС£Èç¹ûÁ´±í·Ç¿Õ£¬37Ðмì²éµÚÒ»¸öÔªËØÊÇ·ñÓë¸Ãµ¥´ÊÏàͬ£¬Èç¹ûÏàͬ£¬¾ÍÁ¢¿Ì·µ»Ø¡£ÏÂÒ»²½¼ì²éÕâһе¥´ÊÊÇ·ñÓ¦¸ÃΪÁ´±íµÚÒ»¸öÔªËØ£¬¼´Æä°´×Öĸ˳ÐòÏÈÓÚ$header¡£Èç¹ûÊÇÕâÑù£¬Ôò£º £ 1¡¢´´½¨Ò»¸öÐÂÔªËØ£¬Ï±êΪ¸Ãе¥´Ê£¬ÆäֵΪԵÚÒ»¸öµ¥´Ê¡£ £ 2¡¢¸Ãе¥´Ê¸³¸ø$header¡£ £ Èç¹û¸Ãе¥´Ê²»¸ÃΪµÚÒ»¸öÔªËØ£¬Ôò40~44ÐÐÀûÓþÖÓò±äÁ¿$pointerѰÕÒÆäºÏÊʵÄÓÐЧλÖã¬41~44ÐÐÑ»·µ½$wordlist´óÓÚ»òµÈÓÚ$wordΪֹ¡£½ÓÏÂÀ´46Ðв鿴¸Ãµ¥´ÊÊÇ·ñÒÑÔÚÁ´±íÖУ¬Èç¹ûÔھͷµ»Ø£¬·ñÔò47~48Ðн«ÆäÌí¼Óµ½Á´±íÖС£Ê×ÏÈ47Ðд´½¨ÐÂÔªËØ$wordlist£¬ÆäֵΪ$wordlist£¬Õâʱ$wordlistºÍ$wordlistÖ¸Ïòͬһ¸öµ¥´Ê¡£È»ºó£¬48Ðн«$wordlistµÄÖµ¸³Îª$word£¬¼´½«$wordlistÖ¸Ïò¸Õ´´½¨µÄÐÂÔªËØ$wordlist¡£ £ ×îºóµ±´¦ÀíÍê±Ïºó£¬×Ó³ÌÐòprint_list()ÒÀ´ÎÊä³öÁ´±í£¬¾ÖÓò±äÁ¿$pointerº¬ÓÐÕýÔÚÊä³öµÄÖµ£¬$wordlistΪÏÂÒ»¸öÒªÊä³öµÄÖµ¡£ £ ×¢£ºÒ»°ã²»ÐèÒªÓÃÁ´±íÀ´×öÕâЩ¹¤×÷£¬ÓÃsort()ºÍkeys()ÔÚ¹ØÁªÊý×éÖÐÑ»·¾Í×ã¹»ÁË£¬È磺 foreach $word (sort keys(%wordlist)) { # print the sorted list, or whatever } £ µ«ÊÇ£¬ÕâÀïÉæ¼°µÄÖ¸ÕëµÄ¸ÅÄîÔÚÆäËüÊý¾Ý½á¹¹ÖкÜÓÐÒâÒå¡£ 2¡¢½á¹¹ £ Ðí¶à±à³ÌÓïÑÔ¿ÉÒÔ¶¨Òå½á¹¹(structure)£¬¼´Ò»×éÊý¾ÝµÄ¼¯ºÏ¡£½á¹¹ÖеÄÿ¸öÔªËØÓÐÆä×Ô¼ºµÄÃû×Ö£¬²¢Í¨¹ý¸ÃÃû×ÖÀ´·ÃÎÊ¡£ £ Perl²»Ö±½ÓÌṩ½á¹¹ÕâÖÖÊý¾Ý½á¹¹£¬µ«¿ÉÒÔÓùØÁªÊý×éÀ´Ä£Äâ¡£ÀýÈçÄ£ÄâCÓïÑÔÖÐÈçϵĽṹ£º struce{ int field1; int field2; int field3; }mystructvar; £ ÎÒÃÇÒª×öµÄÊǶ¨ÒåÒ»¸öº¬ÓÐÈý¸öÔªËØµÄ¹ØÁªÊý×飬ϱê·Ö±ðΪfield1¡¢field2¡¢field3£¬È磺 %mystructvar = ("field1" , "" , £ £ "field2" , "" , £ £ "field3" , "" ,); £ ÏñÉÏÃæCÓïÑԵ͍ÒåÒ»Ñù£¬Õâ¸ö¹ØÁªÊý×é%mystrctvarÓÐÈý¸öÔªËØ£¬Ï±ê·Ö±ðΪfield1¡¢field2¡¢field3£¬¸÷ÔªËØ³õʼֵ¾ùΪ¿Õ´®¡£¶Ô¸÷ÔªËØµÄ·ÃÎʺ͸³ÖµÍ¨¹ýÖ¸¶¨Ï±êÀ´½øÐУ¬È磺 £ $mystructvar = 17; 3¡¢Ê÷ £ ÁíÒ»¸ö¾³£Ê¹ÓõÄÊý¾Ý½á¹¹ÊÇÊ÷¡£Ê÷ÓëÁ´±íÀàËÆ£¬µ«Ã¿¸ö½ÚµãÖ¸ÏòµÄÔªËØ¶àÓÚÒ»¸ö¡£×î¼òµ¥µÄÊ÷ÊǶþ²æÊ÷£¬Ã¿¸ö½ÚµãÖ¸ÏòÁíÍâÁ½¸öÔªËØ£¬³ÆÎª×ó×Ó½ÚµãºÍÓÒ×ӽڵ㣨»ò³Æº¢×Ó£©£¬Ã¿¸ö×Ó½ÚµãÓÖÖ¸ÏòÁ½¸öËï×ӽڵ㣬ÒÀ´ËÀàÍÆ¡£ £ ×¢£º´Ë´¦Ëù˵µÄÊ÷ÏñÉÏÊöÁ´±íÒ»ÑùÊǵ¥ÏòµÄ£¬Ã¿¸ö½ÚµãÖ¸ÏòÆä×ӽڵ㣬µ«×ӽڵ㲢²»Ö¸Ïò¸¸½Úµã¡£ £ Ê÷µÄ¸ÅÄî¿ÉÒÔÈçÏÂÃèÊö£º ÒòΪÿ¸ö×Ó½Úµã¾ùΪһ¸öÊ÷£¬ËùÒÔ×ó/ÓÒ×Ó½ÚµãÒ²³ÆÎª×ó/ÓÒ×ÓÊ÷¡££¨ÓÐʱ³Æ×ó/ÓÒ·ÖÖ§£© µÚÒ»¸ö½Úµã£¨²»ÊÇÈκνڵãµÄ×Ó½ÚµãµÄ½Úµã£©³ÆÎªÊ÷µÄ¸ù¡£ ûÓк¢×Ó£¨×ӽڵ㣩µÄ½Úµã³ÆÎªÒ¶½Úµã¡£ £ ÓжàÖÖʹÓùØÁªÊý×éʵÏÖÊ÷½á¹¹µÄ·½·¨£¬×îºÃµÄÒ»ÖÖÓ¦¸ÃÊÇ£º¸ø×Ó½Úµã·Ö±ð¼ÓÉÏleftºÍrightÒÔ·ÃÎÊÖ®¡£ÀýÈ磬alphaleftºÍalpharightÖ¸ÏòalphaµÄ×óÓÒ×ӽڵ㡣ÏÂÃæÊÇÓô˷½·¨´´½¨¶þ²æÊ÷²¢±éÀúµÄÀý³Ì£º 1 : #!/usr/local/bin/perl 2 : 3 : $rootname = "parent"; 4 : %tree = ("parentleft", "child1", 5 :£ £ £ £ £ "parentright", "child2", 6 :£ £ £ £ £ "child1left", "grandchild1", 7 :£ £ £ £ £ "child1right", "grandchild2", 8 :£ £ £ £ £ "child2left", "grandchild3", 9 :£ £ £ £ £ "child2right", "grandchild4"); 10: # traverse tree, printing its elements 11: &print_tree($rootname); 12: 13: sub print_tree { 14:£ local ($nodename) = @_; 15:£ local ($leftchildname, $rightchildname); 16: 17:£ $leftchildname = $nodename . "left"; 18:£ $rightchildname = $nodename . "right"; 19:£ if ($tree ne "") { 20:£ £ &print_tree($tree); 21:£ } 22:£ print ("$nodename\n"); 23:£ if ($tree ne "") { 24:£ £ &print_tree($tree); 25:£ } 26: } £ ½á¹ûÊä³öÈçÏ£º grandchild1 child1 grandchild2 parent grandchild3 child2 grandchild4 £ ¸Ã³ÌÐò´´½¨µÄ¶þ²æÊ÷ÈçÏÂͼ£º ½Ì³Ì/tree.gif" tppabs="/UpLoadFiles/NewsPhoto/rl5atree.gif"> £ ×¢Ò⺯Êýprint_tree()ÒÔ´ÎÐò¡°×ó×ÓÊ÷¡¢½Úµã¡¢ÓÒ×ÓÊ÷¡±À´Êä³ö¸÷½ÚµãµÄÃû×Ö£¬ÕâÖÖ±éÀú´ÎÐò³ÆÎª¡°×óÐò±éÀú¡±¡£Èç¹û°ÑµÚ22ÐÐÒÆµ½19ÐÐǰ£¬ÏÈÊä³ö½ÚµãÃ÷£¬ÔÙÊä³ö×ó×ÓÊ÷¡¢ÓÒ×ÓÊ÷£¬ÔòΪ¡°ÖÐÐò±éÀú¡±£¬Èç¹û°ÑµÚ22ÐÐÒÆµ½25Ðкó£¬Êä³ö´ÎÐòΪ×ó×ÓÊ÷¡¢ÓÒ×ÓÊ÷¡¢½Úµã£¬ÔòΪ¡°ÓÒÐò±éÀú¡±¡£ £ ¿ÉÒÔÓÃͬÑùµÄ·½·¨£¬¼´Á¬½Ó×Ö·û´®¹¹³Éϱ꣬À´´´½¨ÆäËüµÄÊý¾Ý½á¹¹£¬ÈçÊý¾Ý¿âµÈ¡£ µÚʮՠ¸ñʽ»¯Êä³ö £ ÎÒÃÇÒѾ¼û¹ýÓÃprintº¯Êý½«ÔʼµÄδ¸ñʽ»¯µÄÎı¾Êä³öµ½Îļþ£¬±¾Õ½²ÊöÈçºÎÓú¯ÊýwriteºÍ´òÓ¡¸ñʽÀ´Éú³É¸ñʽ»¯µÄÊä³ö¡£ _of_output . £ ´òÓ¡¸ñʽÃûformatnameµÄÃüÃû¹æÔòÓëÒ»°ã±äÁ¿Ïàͬ¡£½áÊøÐÐΪһ¸ö¾äºÅ£¬´ËÐв»ÄÜÓÐÈÎºÎÆäËü×Ö·û£¬°üÀ¨¿Õ¸ñ£¬¾äºÅ±ØÐëÊǸÃÐеÚÒ»¸ö×Ö·û¡£ £ ´òÓ¡¸ñʽµÄ¶¨ÒåÏó×Ó³ÌÐòÒ»Ñù¿ÉÒÔ·ÅÔÚÈκεط½£¬ÉõÖÁ¿ÉÒÔ·ÅÔÚÌõ¼þÓï¾äÖУ¬µ«ÊÇ×îºÃ°ÑËüÃǼ¯ÖзÅÔÚ³ÌÐòµÄ¿ªÍ·»ò½áβ¡£ 4 : write; 5 : 6 : format MYFORMAT = 7 : =================================== 8 : Here is the text I want to display. 9 : =================================== 10: . £ ½á¹ûÊä³öÈçÏ£º $ program =================================== Here is the text I want to display. =================================== $ £ Èç¹û²»ÓÃ$~Ö¸¶¨´òÓ¡¸ñʽ£¬Perl½âÊÍÆ÷¾Í¼Ù¶¨ÒªÊ¹ÓõĸñʽÃûÓëҪдÈëµÄÎļþ±äÁ¿Í¬Ãû£¬ÔÚ±¾ÀýÖУ¬Èç¹û²»Ö¸¶¨Ê¹ÓÃMYFORMAT£¬ÔòPerl½âÊÍÆ÷ÊÔͼʹÓÃÃûΪSTDOUTµÄ´òÓ¡¸ñʽ¡£ Èý¡¢ÔÚ´òÓ¡¸ñʽÖÐÏÔʾֵ £ ÎÒÃÇʹÓôòÓ¡¸ñʽµÄÖ÷ÒªÔÒòµ±È»ÊǸñʽ»¯´æÖüÔÚ¼òµ¥±äÁ¿»òÊý×é±äÁ¿ÖеÄÖµ´Ó¶øÉú³É¿É¶ÁÐԺõÄÊä³ö£¬ÕâһĿµÄÓá°ÖµÓò¡±À´ÊµÏÖ¡£Ã¿¸öÖµÓòÖ¸¶¨Ò»¸öÖµ£¬Èç±äÁ¿»ò±í´ïʽ£¬µ÷ÓÃwriteº¯Êýʱ£¬¸ÃÖµ¾ÍÒÔÖµÓòÖ¸¶¨µÄ¸ñʽÏÔʾ¡£ 1¡¢Í¨ÓõĴòÓ¡¸ñʽ £ ´òÓ¡¸ñʽµÄÒ»¸öȱµãÊǶ¨ÒåÖаüº¬Á˱äÁ¿Ãû£¬ÀýÈ磺 format MYFORMAT = ========================================================== The winning number is @<<<<< $winnum ========================================================== . £ µ±µ÷ÓÃwriteÊä³ö´Ë¸ñʽʱ£¬±ØÐë¼Ç×ÅËüʹÓÃÁ˱äÁ¿$winnum¡£ÓÃ×Ó³ÌÐòºÍ¾ÖÓò±äÁ¿¾Í¿ÉÒÔ´´½¨¸üͨÓõĴòÓ¡¸ñʽ¡£ÏÂÀý´ÓSTDINÊäÈëÒ»¸öÎļþ²¢Êä³öÎå¸ö³öÏÖÆµÂÊ×î¸ßµÄ×Öĸ¼°³öÏÖ´ÎÊý¡£ 1 : #!/usr/local/bin/perl 2 : 3 : while ($line = ) { 4 :£ $line =~ tr/A-Z/a-z/; 5 :£ $line =~ s/[^a-z]//g; 6 :£ @letters = split(//, $line); 7 :£ foreach $letter (@letters) { 8 :£ £ $lettercount += 1; 9 :£ } 10: } 11: 12: $~ = "WRITEHEADER"; 13: write; 14: $count = 0; 15: foreach $letter (reverse sort occurrences 16:£ £ £ (keys(%lettercount))) { 17:£ &write_letter($letter, $lettercount); 18:£ last if (++$count == 5); 19: } 20: 21: sub occurrences { 22:£ $lettercount <=> $lettercount; 23: } 24: sub write_letter { 25:£ local($letter, $value) = @_; 26: 27:£ $~ = "WRITELETTER"; 28:£ write; 29: } 30: format WRITEHEADER = 31: The five most frequently occurring letters are: 32: . 33: format WRITELETTER = 34:£ @: @<<<<<< 35:£ $letter, $value 36: . £ ÔËÐнá¹ûÈçÏ£º $ program This is a test file. This test file contains some input. The quick brown fox jumped over the lazy dog. ^D The five most frequently occurring letters are: £ £ £ t: 10 £ £ £ e: 9 £ £ £ i: 8 £ £ £ s: 7 £ £ £ o: 6 $ 2¡¢¸ñʽºÍ¾ÖÓò±äÁ¿ £ ÔÚÉÏÀýÖУ¬Äã¿ÉÄÜÒѾעÒâµ½×Ó³ÌÐòwrite_letterµ÷ÓÃwriteÊä³ö×Öĸ¼°Æä³öÏÖ´ÎÊý£¬¼´Ê¹¸ñʽ¶¨ÒåÔÚ×Ó³ÌÐòÍⲿÈÔÄÜÕý³£¹¤×÷¡£ÔÚµÚ17ÐÐÖн«×Öĸ¼°Æä³öÏÖ´ÎÊý´«µÝ¸ø¸Ã×Ó³ÌÐò£¬ÔÚ×Ó³ÌÐòÖУ¬´òÓ¡¸ñʽʹÓþÖÓò±äÁ¿$letterºÍ$value£¬ÕâÑù±£Ö¤ÁËÔÚforeachÑ»·ÖÐÿ´ÎÊä³öµ±Ç°µÄ×ÖĸºÍÖµ¡£ £ È»¶øÒª×¢ÒâµÄÊÇ£¬Ê¹ÓÃmy¶¨ÒåµÄ¾ÖÓò±äÁ¿ÒªÇó¸ñʽ¶¨ÒåÔÚ×Ó³ÌÐòÄÚ²¿£¬·ñÔò¾Í²»»áÊä³ö£¬Òò´Ë£¬ÓÃwriteÊä³öµÄ¾ÖÓò±äÁ¿Ò»¶¨ÒªÓÃlocal¶¨Òå¡££¨localºÍmyÏê¼û¡¶×Ó³ÌÐò¡·Ò»Õ£© £ ×¢£ºPerl4ÖÐûÓÐmyº¯Êý£¬¹Ê²»»áÓдËÎÊÌâ¡£ 3¡¢Ñ¡ÔñÖµÓò¸ñʽ £ ÎÒÃÇÒѾ֪µÀÁË´òÓ¡¸ñʽºÍwriteº¯ÊýÔõô¹¤×÷£¬ÏÖÔÚÀ´¿´¿´ÖµÓòµÄ¸ñʽ£¬¼ûÏÂ±í£º ¸ñʽֵÓòº¬Òå @<<<×ó¶ÔÆëÊä³ö @>>>ÓÒ¶ÔÆëÊä³ö @|||ÖÐ¶ÔÆëÊä³ö @##.##£ ¹Ì¶¨¾«¶ÈÊý×Ö£ @*¶àÐÐÎı¾ £ ÿ¸öÖµÓòµÄµÚÒ»¸ö×Ö·ûÊÇÐÐÌî³ä·û£¬µ±Ê¹ÓÃ@×Ö·ûʱ£¬²»×öÎı¾¸ñʽ»¯¡£¶ÔÎı¾µÄ¸ñʽ»¯ÉÔºóÀ´½²¡£ £ ÔÚÉϱíÖУ¬³ýÁ˶àÐÐÖµÓò@*£¬Óò¿í¶¼µÈÓÚÆäÖ¸¶¨µÄ°üº¬×Ö·û@ÔÚÄÚµÄ×Ö·û¸öÊý£¬ÀýÈ磺 £ £ @###.## £ ±íʾÆß¸ö×Ö·û¿í£¬Ð¡ÊýµãǰËĸö£¬Ð¡ÊýµãºóÁ½¸ö¡£ 4¡¢Êä³öÖµÓò×Ö·û £ ÔÚ´òÓ¡¸ñʽÀï£¬ÌØ¶¨×Ö·ûÈç@¡¢<ºÍ>±»¿´×÷ÖµÓò¶¨Ò壬ÄÇôÈçºÎ½«ËüÃÇÊä³öÄØ£¿·½·¨ÈçÏ£º format SPECIAL = This line contains the special character @. "@" . ËÄ¡¢Êä³öµ½ÆäËüÎļþ £ ȱʡµØ£¬º¯Êýwrite½«½á¹ûÊä³öµ½±ê×¼Êä³öÎļþSTDOUT£¬ÎÒÃÇÒ²¿ÉÒÔʹËü½«½á¹ûÊä³öµ½ÈÎÒâÆäËüµÄÎļþÖС£×î¼òµ¥µÄ·½·¨¾ÍÊǰÑÎļþ±äÁ¿×÷Ϊ²ÎÊý´«µÝ¸øwrite£¬È磺 £ £ write (MYFILE); £ ÕâÑù£¬write¾ÍÓÃȱʡµÄÃûΪMYFILEµÄ´òÓ¡¸ñʽÊä³öµ½ÎļþMYFILEÖУ¬µ«ÊÇÕâÑù¾Í²»ÄÜÓÃ$~±äÁ¿À´¸Ä±äËùʹÓõĴòÓ¡¸ñʽ¡£ÏµÍ³±äÁ¿$~Ö»¶ÔȱʡÎļþ±äÁ¿Æð×÷Óã¬ÎÒÃÇ¿ÉÒԸıäȱʡÎļþ±äÁ¿£¬¸Ä±ä$~£¬ÔÙµ÷ÓÃwrite£¬ÀýÈ磺 £ £ select (MYFILE); £ £ $~ = "MYFORMAT"; £ £ write; £ µ±select¸Ä±äȱʡÎļþ±äÁ¿Ê±£¬Ëü·µ»Øµ±Ç°È±Ê¡Îļþ±äÁ¿µÄÄÚ²¿±íʾ£¬ÕâÑùÎÒÃǾͿÉÒÔ´´½¨×Ó³ÌÐò£¬°´×Ô¼ºµÄÏë·¨Êä³ö£¬ÓÖ²»Ó°Ïì³ÌÐòµÄÆäËü²¿·Ö£¬ÈçÏ£º sub write_to_stdout { local ($savefile, $saveformat); $savefile = select(STDOUT); $saveformat = $~; $~ = "MYFORMAT"; write; $~ = $saveformat; select($savefile); } Îå¡¢·ÖÒ³ £ ÔÚÊä³öµ½´òÓ¡»úʱ£¬¿ÉÒÔÔÚÿҳ¶¥²¿Êä³öÏàÓ¦µÄÐÅÏ¢£¬ÕâÑùµÄÌØÊâÎı¾½Ðҳü¡£¶¨Òåҳüʵ¼ÊÉϾÍÊǶ¨ÒåÃûΪfilename_TOPµÄ´òÓ¡¸ñʽ£¬ÀýÈç¸ø±ê×¼Êä³öÎļþ¶¨ÒåҳüÈçÏ£º £ £ format STDOUT_TOP = £ £ Consolidated Widgets Inc. 1994 Annual Report £ £ . £ ÔÚҳüµÄ¶¨ÒåÖÐÒ²¿ÉÒÔ°üº¬ÖµÓò£¬Ò³Ã¼Öо³£Ê¹ÓõÄÒ»¸öÌØÊâÖµÊǵ±Ç°Ò³Â룬´æÖüÔÚϵͳ±äÁ¿$%ÖУ¬È磺 £ £ format STDOUT_TOP = £ £ Page @<<. £ £ $% £ £ . £ ÎÒÃÇÒ²¿ÉÒÔͨ¹ý¸Ä±äϵͳ±äÁ¿$^¸Ä±ä¶¨ÒåҳüµÄ´òÓ¡¸ñʽÃû£¬Óë$~Ò»Ñù£¬$^Ö»¶Ôµ±Ç°È±Ê¡ÎļþÆð×÷Óã¬Òò´Ë¿ÉÒÔÓëselectº¯Êý½áºÏʹÓᣠ£ ȱʡÇé¿öÏ£¬Ã¿Ò³³¤¶ÈΪ60ÐУ¬¿ÉÒÔͨ¹ý¸Ä±ä$=À´¸Ä±äÒ³³¤£¬È磺 £ £ $= = 66; #Ò³³¤ÉèΪ66ÐÐ £ ´Ë¸³ÖµÓï¾ä±ØÐë³öÏÖÔÚµÚÒ»¸öwriteÓï¾äǰ¡£ £ ×¢£ºÒ»°ãʹÓ÷ÖÒ³»úÖÆÊ±²»ÓÃprintº¯Êý£¬ÒòΪµ±ÓÃwriteÊä³öʱ£¬Perl½âÊÍÆ÷¸ú×ÙÿҳµÄµ±Ç°Ðкš£Èç¹û±ØÐëʹÓÃprint¶øÓÖ²»´òÂÒÒ³¼ÆÊý£¬¿ÉÒÔµ÷Õûϵͳ±äÁ¿$-¡£$-µÄº¬ÒåÊǵ±Ç°Ðе½Ò³Ä©Ö®¼äµÄÐÐÊý£¬µ±$-´ïµ½Áãʱ£¬¾Í¿ªÊ¼ÐµÄÒ»Ò³£¬µ÷Õû·½·¨È磺 £ £ print ("Here is a line of output\n"); £ £ $- -= 1; Áù¡¢¸ñʽ»¯³¤×Ö·û´® £ ÎÒÃÇÒѾѧ¹ýÖµÓò@*¿ÉÒÔÊä³ö¶àÐÐÎı¾£¬µ«ËüÍêÈ«½«×Ö·û´®ÔÑùÊä³ö£¬²»¼ÓÒÔ¸ñʽ»¯¡£ÔÚPerlÖжԳ¤×Ö·û´®£¨°üº¬»»ÐУ©½øÐиñʽ»¯µÄÖµÓò¶¨ÒåºÜ¼òµ¥£¬Ö»Ðè°Ñ´òÍ·µÄ@×Ö·û»»³É^¾ÍÐÐÁË£¬ÕâÖÖÎı¾¸ñʽ»¯ÖУ¬Perl½âÊÍÆ÷ÔÚÒ»ÐÐÖзÅÖþ¡¿ÉÄܶàµÄµ¥´Ê¡£Ã¿µ±Êä³öÒ»ÐÐÎı¾£¬±»Êä³öµÄ×Ó´®¾Í´Ó±äÁ¿ÖÐɾ³ý£¬ÔÙ´ÎÔÚÓòÖµÖÐʹÓøñäÁ¿¾Í°ÑʣϵÄ×Ö·û´®¼ÌÐø°´¸ñʽÊä³ö¡£µ±ÄÚÈÝÒÑÊä³öÍê±Ï£¬¸Ã±äÁ¿¾Í³ÉÁ˿մ®£¬ÔÙÊä³ö¾Í»áÊä³ö¿ÕÐУ¬Îª±ÜÃâÊä³ö¿ÕÐУ¬¿ÉÒÔÔÚÖµÓò¸ñʽÐÐÊ×¼ÓÒ»¸ö~×Ö·û¡£¼ûÏÂÀý£º 1 : #!/usr/local/bin/perl 2 : 3 : @quotation = 4 : $quotation = join("", @quotation); 5 : $~ = "QUOTATION"; 6 : write; 7 : 8 : format QUOTATION = 9 : Quotation for the day: 10: ----------------------------- 11: ~£ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 12: $quotation 13: ~£ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 14: $quotation 15: ~£ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 16: $quotation 17: ----------------------------- 18: . £ ÔËÐнá¹ûÈçÏ£º $ program Any sufficiently advanced programming language is indistinguishable from magic. ^D Quotation for the day: ----------------------------- £ Any sufficiently advanced programming language is £ indistinguishable from magic. ----------------------------- $ £ Èç¹û°Ñ´òÓ¡¸ñʽÖÐÐÐÊ×µÄ~×Ö·ûÈ¥µô£¬ÉÏÃæµÄÊä³ö½á¹ûÖоͻá¶àÒ»ÐпÕÐС£ºÜÃ÷ÏÔ£¬µ±×Ö·û´®³¤¶È²»Ã÷ȷʱ£¬ÕâÖÖÓ÷¨ºÜ²»·½±ã£¬ÔÒò¾ÍÔÚÓÚËüÖ¸Ã÷ÁËÊä³öµÄÐÐÊýÉÏÏÞ£¬³¬¹ýÕâÒ»ÉÏÏÞµÄ×Ö·û¾Í²»»á±»Êä³ö£¬½â¾ö·½·¨ºÜ¼òµ¥£¬¾ÍÊÇÔÚÓòÖµ¸ñʽÐÐÊ×¼ÓÁ½¸ö~×Ö·û£¬ÕâÑù¾Í»á³ÖÐø°´¸ñʽÊä³öÎı¾Ö±µ½Êä³öÍê±Ï£¬Óô˷½·¨°ÑÉÏÊö³ÌÐò¸ÄдÈçÏ£º 1 : #!/usr/local/bin/perl 2 : 3 : @quotation = 4 : $quotation = join("", @quotation); 5 : $~ = "QUOTATION"; 6 : write; 7 : 8 : format QUOTATION = 9 : Quotation for the day: 10: ----------------------------- 11: ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 12: $quotation 13: ----------------------------- 14: . £ ÕâÑùÔËÐнá¹ûÏàͬ¡£ Æß¡¢ÓÃprintf¸ñʽ»¯Êä³ö £ »¹ÓÐÒ»ÖÖÈÝÒ×ÕÆÎÕºÍʹÓõĸñʽ»¯Êä³öº¯Êý£¬ÄǾÍÊÇprintf£¬ËüÓëCÓïÑÔÖеÄprintf»ù±¾ÉÏÊÇÏàͬµÄ¡£printfÓÐÁ½¸ö²ÎÊý£¬Ò»¸öÊÇ×Ö·û´®£¬ÆäÖк¬ÓÐÒ»¸ö»ò¶à¸öÓòÖµÐÎʽ£¬ÁíÒ»¸öÊÇÓë¸÷ÓòÖµÏà¶ÔÓ¦µÄ±äÁ¿Öµ°´Ò»¶¨¸ñÊ½Ìæ»»£¬È磺 £ £ printf("The number I want to print is %d.\n", $number); £ ¸÷ÖÖÓòÖµÐÎʽÈçÏÂ±í£º ÓòÖµ£ º¬Òå %cµ¥¸ö×Ö·û %dÊ®½øÖÆÕûÊý %e¿ÆÑ§¼ÆÊý·¨ÐÎʽµÄ¸¡µãÊý£ %fÆÕͨÐÎʽ£¨¶¨µã£©¸¡µãÊý %g½ôËõÐÎʽ¸¡µãÊý %o°Ë½øÖÆÕûÊý %s×Ö·û´® %uÎÞ·ûºÅÕûÊý %xÊ®Áù½øÖÆÕûÊý £ һЩʹÓÃϸ½ÚÈçÏ£º 1¡¢ÔÚ¸ñʽd¡¢o¡¢u»òxÖУ¬Èç¹ûÕûÊýÖµ½Ï´ó»ò¿ÉÄܽϴ󣬿ɼӸöl×Ö·û£¬ÒâΪ³¤ÕûÐÍ£¬Èç%ld¡£ 2¡¢%×Ö·ûºó¼ÓÕýÕûÊý±íʾ¸ÃÓòµÄ×îС¿í¶È£¬Èç¹ûÊä³ö½á¹û¿í¶È²»×㣬ÔòÏòÓÒ¶ÔÆë£¬Ç°ÃæÓÿոñ²¹×㣬Èç¹û¸ÃÕýÕûÊýÒÔÊý×Ö0´òÍ·£¬Ôò²¹×ã×Ö·ûΪ0¡£Èô%×Ö·ûºóΪ¸ºÕûÊý£¬Ôò½á¹ûÏòÓÒ¶ÔÆë¡£ 3¡¢¸¡µãÊýÓòÖµ(%c¡¢%fºÍ%g)ÖпÉÒÔÖ¸¶¨Ð¡ÊýµãǰºóµÄ¿í¶È£¬Èç%8.3fÒâΪ×Ü¿í¶ÈΪ8¸ö×Ö·û£¬Ð¡Êýµãºó£¨¼´Ð¡Êý²¿·Ö£©Îª3¸ö×Ö·û£¬¶à³öµÄСÊý²¿·ÖËÄÉáÎåÈë¡£ 4¡¢ÔÚÕûÊý¡¢×Ö·û»ò×Ö·û´®µÄÖµÓòÖÐʹÓÃÈçÉϵÄСÊýÐÎʽn.m£¬ÕûÊý²¿·ÖnΪ×Ü¿í¶È£¬Ð¡Êý²¿·ÖmΪÊä³ö½á¹ûµÄ×î´ó¿í¶È£¬ÕâÑù¾Í±£Ö¤ÁËÊä³ö½á¹ûǰÖÁÉÙÓÐn-m¸ö¿Õ¸ñ¡£ |

5Â¥2005-06-14 19:17:42
miRNA
ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)
Ë®ÍõÖ®Íõ£¨ÓÞÓÞѧ԰¹ÜÀíÔ±£©
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ¹ó±ö: 16.6
- ½ð±Ò: 13289.9
- ºì»¨: 4
- Ìû×Ó: 4967
- ÔÚÏß: 10.3Сʱ
- ³æºÅ: 56231
- ×¢²á: 2005-01-07
- רҵ: ½ðÊôÓлú»¯Ñ§
¡ï
yuefour(½ð±Ò+1):ÐÁ¿àÁË
yuefour(½ð±Ò+1):ÐÁ¿àÁË
|
µÚÈýÕ ²Ù×÷·û Ò»¡¢ËãÊõ²Ù×÷·û £º+(¼Ó)¡¢-(¼õ)¡¢*(³Ë)¡¢/(³ý)¡¢**(³ËÃÝ)¡¢%(È¡Óà)¡¢-(µ¥Ä¿¸º) (1)³ËÃݵĻùÊý²»ÄÜΪ¸º£¬Èç (-5) ** 2.5 # error£» (2)³ËÃݽá¹û²»Äܳ¬³ö¼ÆËã»ú±íʾµÄÏÞÖÆ£¬Èç10 ** 999999 # error (3)È¡ÓàµÄ²Ù×÷ÊýÈç²»ÊÇÕûÊý£¬ËÄÉáÎåÈë³ÉÕûÊýºóÔËË㣻ÔËËã·ûÓҲ಻ÄÜΪÁã (4)µ¥Ä¿¸º¿ÉÓÃÓÚ±äÁ¿£º - $y ; # µÈЧÓÚ $y * -1 ¶þ¡¢ÕûÊý±È½Ï²Ù×÷·û Table 3.1. ÕûÊý±È½Ï²Ù×÷·û ²Ù×÷·ûÃèÊö <СÓÚ >´óÓÚ ==µÈÓÚ <=СÓÚµÈÓÚ >=´óÓÚµÈÓÚ !=²»µÈÓÚ <=>±È½Ï£¬·µ»Ø 1, 0, or -1 ²Ù×÷·û<=>½á¹ûΪ£º 0 - Á½¸öÖµÏàµÈ 1 - µÚÒ»¸öÖµ´ó 1 - µÚ¶þ¸öÖµ´ó Èý¡¢×Ö·û´®±È½Ï²Ù×÷·û Table 3.2. ×Ö·û´®±È½Ï²Ù×÷·û ²Ù×÷·ûÃèÊö¡¡ lt СÓÚ¡¡ gt ´óÓÚ¡¡ eq µÈÓÚ¡¡ le СÓÚµÈÓÚ¡¡ ge ´óÓÚµÈÓÚ¡¡ ne ²»µÈÓÚ¡¡ cmp ±È½Ï£¬·µ»Ø 1, 0, or -1¡¡ ËÄ¡¢Âß¼²Ù×÷·û Âß¼»ò£º$a || $b »ò $a or $b Âß¼Ó룺$a && $b »ò $a and $b Âß¼·Ç£º! $a »ò not $a Âß¼Òì»ò£º$a xor $b Î塢λ²Ù×÷·û λÓ룺& λ»ò£º| λ·Ç£º~ λÒì»ò£º^ ×óÒÆ£º$x << 1 ÓÒÒÆ£º$x >> 2 ×¢£º²»Òª½«&ÓÃÓÚ¸ºÕûÊý£¬ÒòΪPERL½«»á°ÑËüÃÇת»¯ÎªÎÞ·ûºÅÊý¡£ Áù¡¢¸³Öµ²Ù×÷·û Table 3.3. ¸³Öµ²Ù×÷·û ²Ù×÷·ûÃèÊö =Assignment only +=Addition and assignment -=Subtraction and assignment *=Multiplication and assignment /=Division and assignment %=Remainder and assignment **=Exponentiation and assignment &=Bitwise AND and assignment |=Bitwise OR and assignment ^=Bitwise XOR and assignment Table 3.4. ¸³Öµ²Ù×÷·ûÀý×Ó ±í´ïʽµÈЧ±í´ïʽ $a = 1; none (basic assignment) $a -= 1; $a = $a - 1; $a *= 2; $a = $a * 2; $a /= 2; $a = $a / 2; $a %= 2; $a = $a % 2; $a **= 2; $a = $a ** 2; $a &= 2; $a = $a & 2; $a |= 2; $a = $a | 2; $a ^= 2; $a = $a ^ 2; .=¿ÉÔÚÒ»¸ö¸³ÖµÓï¾äÖгöÏÖ¶à´Î£¬È磺 $value1 = $value2 = "a string"; .=×÷Ϊ×Ó±í´ïʽ ($a = $b) += 3; µÈ¼ÛÓÚ $a = $b; $a += 3; µ«½¨Ò鲻ҪʹÓÃÕâÖÖ·½Ê½¡£ Æß¡¢×ÔÔö×Ô¼õ²Ù×÷·û £º++¡¢--(ÓëC++ÖеÄÓ÷¨Ïàͬ) .²»ÒªÔÚ±äÁ¿Á½±ß¶¼Ê¹ÓôËÖÖ²Ù×÷·û£º++$var-- # error .²»ÒªÔÚ±äÁ¿×ÔÔö/¼õºóÔÚͬһ±í´ïʽÖÐÔÙ´ÎʹÓãº$var2£ = $var1 + ++$var1; # error .ÔÚPERLÖÐ++¿ÉÓÃÓÚ×Ö·û´®£¬µ«µ±½áβ×Ö·ûΪ'z'¡¢'Z'¡¢'9'ʱ½øÎ»£¬È磺 $stringvar = "abc"; $stringvar++; # $stringvar contains "abd" now $stringvar = "aBC"; $stringvar++; # $stringvar contains "aBD" now $stringvar = "abz"; $stringvar++; # $stringvar now contains "aca" $stringvar = "AGZZZ"; $stringvar++; # $stringvar now contains "AHAAA" $stringvar = "ab4"; $stringvar++; # $stringvar now contains "ab5" $stringvar = "bc999"; $stringvar++; # $stringvar now contains "bd000" .²»ÒªÊ¹ÓÃ--£¬PERL½«ÏȽ«×Ö·û´®×ª»»ÎªÊý×ÖÔÙ½øÐÐ×Ô¼õ $stringvar = "abc"; $stringvar--; # $stringvar = -1 now .Èç¹û×Ö·û´®Öк¬ÓзÇ×ÖĸÇÒ·ÇÊý×ÖµÄ×Ö·û£¬»òÊý×ÖλÓÚ×ÖĸÖУ¬Ôò¾¹ý++ÔËËãǰֵת»»ÎªÊý×ÖÁ㣬Òò´Ë½á¹ûΪ1£¬È磺 $stringvar = "ab*c"; $stringvar++; $stringvar = "ab5c"; $stringvar++; °Ë¡¢×Ö·û´®Áª½áºÍÖØ¸´²Ù×÷·û Áª½Ó: . ÖØ¸´£ºx Áª½ÓÇÒ¸³Öµ(ÀàËÆ+=)£º .= Àý£º $newstring = "potato" . "head"; $newstring = "t" x 5; $a = "be"; $a .= "witched"; # $a is now "bewitched" ¾Å¡¢¶ººÅ²Ù×÷·û ÆäÇ°ÃæµÄ±í´ïʽÏȽøÐÐÔËË㣬È磺 $var1 += 1, $var2 = $var1; µÈ¼ÛÓÚ $var1 += 1; $var2 = $var1; ʹÓô˲Ù×÷·ûµÄΨһÀíÓÉÊÇÌá¸ß³ÌÐòµÄ¿É¶ÁÐÔ£¬½«¹ØÏµÃÜÇеÄÁ½¸ö±í´ïʽ½áºÏÔÚÒ»Æð£¬È磺 $val = 26; $result = (++$val, $val + 5); # $result = 32 ×¢ÒâÈç¹û´Ë´¦Ã»ÓÐÀ¨ºÅÔòÒâÒ岻ͬ£º $val = 26; $result = ++$val, $val + 5; # $result = 27 Ê®¡¢Ìõ¼þ²Ù×÷·û ÓëCÖÐÀàËÆ£¬Ìõ¼þ?Öµ1:Öµ2£¬µ±Ìõ¼þÎªÕæÊ±È¡Öµ1£¬Îª¼Ùʱȡֵ2£¬È磺 $result = $var == 0 ? 14 : 7; $result = 43 + ($divisor == 0 ? 0 : $dividend / $divisor); PERL 5ÖУ¬»¹¿ÉÒÔÔÚ¸³ÖµÊ½×ó±ßʹÓÃÌõ¼þ²Ù×÷·ûÀ´Ñ¡Ôñ±»¸³ÖµµÄ±äÁ¿£¬È磺 $condvar == 43 ? $var1 : $var2 = 14; $condvar == 43 ? $var1 = 14 : $var2 = 14; ʮһ¡¢²Ù×÷·ûµÄ´ÎÐò Table 3.6. ²Ù×÷·û´ÎÐò ²Ù×÷·ûÃèÊö ++, -- ×ÔÔö£¬×Ô¼õ -, ~, ! µ¥Ä¿ ** ³Ë·½ =~, !~ ģʽƥÅä *, /, %, x ³Ë£¬³ý£¬È¡Óà£¬ÖØ¸´ +, -, . ¼Ó£¬¼õ£¬Áª½Ó <<, >> ÒÆÎ» -e, -r, etc. Îļþ״̬ <, <=, >, >=, lt, le, gt, ge ²»µÈ±È½Ï ==, !=, <=>, eq, ne, cmp ÏàµÈ±È½Ï & λÓë |, ^ λ»ò£¬Î»Òì»ò && Âß¼Óë || Âß¼»ò .. ÁÐ±í·¶Î§ ? and : Ìõ¼þ²Ù×÷·û =, +=, -=, *=, ¸³Öµ and so on¡¡ ,¶ººÅ²Ù×÷·û not Low-precedence logical NOT and Low-precedence logical AND or, xor Low-precedence logical OR and XOR .²Ù×÷·û½áºÏÐÔ(associativity)£º Table 3.7. ²Ù×÷·û½áºÏÐÔ ²Ù×÷·û½áºÏÐÔ ++, -- ÎÞ -, ~, ! Right-to-left ** Right-to-left =~, !~ Left-to-right *, /, %, x Left-to-right +, -, . Left-to-right <<, >> Left-to-right -e, -r, ÎÞ <, <=, >, >=, lt, le, gt, ge Left-to-right ==, !=, <=>, eq, ne, cmp Left-to-right & Left-to-right |, ^ Left-to-right && Left-to-right || Left-to-right .. Left-to-right ? and : Right-to-left =, +=, -=, *=, Right-to-left and so on¡¡ ,Left-to-right not Left-to-right and Left-to-right or, xor Left-to-right ½¨Ò飺 1¡¢µ±Ä㲻ȷ¶¨Ä³²Ù×÷·ûÊÇ·ñÏÈÖ´ÐÐʱ£¬Ò»¶¨ÒªÓÃÀ¨ºÅÃ÷È·Ö®¡£ 2¡¢ÓöàÐС¢¿Õ¸ñµÈ·½Ê½Ìá¸ß³ÌÐòµÄ¿É¶ÁÐÔ¡£ µÚËÄÕ ÁбíºÍÊý×é±äÁ¿ Ò»¡¢Áбí ÁбíÊǰüº¬ÔÚÀ¨ºÅÀïµÄÒ»ÐòÁеÄÖµ£¬¿ÉÒÔΪÈκÎÊýÖµ£¬Ò²¿ÉΪ¿Õ£¬È磺(1, 5.3 , "hello" , 2)£¬¿ÕÁÐ±í£º()¡£ ×¢£ºÖ»º¬ÓÐÒ»¸öÊýÖµµÄÁбí(È磺(43.2) )Óë¸ÃÊýÖµ±¾Éí(¼´£º43.2 )ÊDz»Í¬µÄ£¬µ«ËüÃÇ¿ÉÒÔ»¥Ïàת»¯»ò¸³Öµ¡£ ÁбíÀý£º £ (17, $var, "a string" £ (17, 26 << 2) £ (17, $var1 + $var2) £ ($value, "The answer is $value" ¶þ¡¢Êý×é--ÁбíµÄ´æÖü ÁÐ±í´æÖüÓÚÊý×é±äÁ¿ÖУ¬Óë¼òµ¥±äÁ¿²»Í¬£¬Êý×é±äÁ¿ÒÔ×Ö·û"@"´òÍ·£¬È磺 £ @array = (1, 2, 3); ×¢£º (1)Êý×é±äÁ¿´´½¨Ê±³õʼֵΪ¿ÕÁÐ±í£º()¡£ (2)ÒòΪPERLÓÃ@ºÍ$À´Çø·ÖÊý×é±äÁ¿ºÍ¼òµ¥±äÁ¿£¬ËùÒÔͬһ¸öÃû×Ö¿ÉÒÔͬʱÓÃÓÚÊý×é±äÁ¿ºÍ¼òµ¥±äÁ¿£¬È磺 £ $var = 1; £ @var = (11, 27.1 , "a string" ; µ«ÕâÑùºÜÈÝÒ×»ìÏý£¬¹Ê²»ÍƼö¡£ 1¡¢Êý×éµÄ´æÈ¡ .¶ÔÊý×éÖеÄֵͨ¹ýÏÂ±ê´æÈ¡£¬µÚÒ»¸öÔªËØÏ±êΪ0¡£ÊÔͼ·ÃÎʲ»´æÔÚµÄÊý×éÔªËØ£¬Ôò½á¹ûΪNULL£¬µ«Èç¹û¸ø³¬³öÊý×é´óСµÄÔªËØ¸³Öµ£¬ÔòÊý×é×Ô¶¯Ôö³¤£¬ÔÀ´Ã»ÓеÄÔªËØÖµÎªNULL¡£È磺 £ @array = (1, 2, 3, 4); £ $scalar = $array[0]; £ $array[3] = 5; # now @array is (1,2,3,5) £ $scalar = $array[4]; # now $scalar = null; £ $array[6] = 17; # now @array is (1,2,3,5,"","",17) .Êý×é¼ä¿½±´ £ @result = @original; .ÓÃÊý×鏸ÁÐ±í¸³Öµ £ @list1 = (2, 3, 4); £ @list2 = (1, @list1, 5); # @list2 = (1, 2, 3, 4, 5) .Êý×é¶Ô¼òµ¥±äÁ¿µÄ¸³Öµ £ (1) @array = (5, 7, 11); £ ($var1, $var2) = @array; # $var1 = 5, $var2 = 7, 11±»ºöÂÔ £ (2) @array = (5, 7); £ ($var1, $var2, $var3) = @array; # $var1 = 5, $var2 = 7, $var3 ="" (null) .´Ó±ê×¼ÊäÈë(STDIN)¸ø±äÁ¿¸³Öµ £ $var = £ @array = 2 ¡¢×Ö·û´®Öеķ½À¨ºÅºÍ±äÁ¿Ìæ»» £ "$var[0]" ΪÊý×é@varµÄµÚÒ»¸öÔªËØ¡£ £ "$var\[0]" ½«×Ö·û"["תÒ壬µÈ¼ÛÓÚ"$var". "[0]"£¬$var±»±äÁ¿Ìæ»»£¬[0]±£³Ö²»±ä¡£ £ "$[0]" ÒàµÈ¼ÛÓÚ"$var" ."[0]"¡£ £ "$\"ÔòÈ¡ÏûÁË´óÀ¨ºÅµÄ±äÁ¿Ìæ»»¹¦ÄÜ£¬°üº¬ÎÄ×Ö£º$. 3¡¢ÁÐ±í·¶Î§£º £ (1..10) = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) £ (2, 5..7, 11) = (2, 5, 6, 7, 11) £ (3..3) = (3) .ÓÃÓÚʵÊý £ (2.1..5.3) = (2.1, 3.1 ,4.1, 5.1) £ (4.5..1.6) = () .ÓÃÓÚ×Ö·û´® £ ("aaa".."aad" = ("aaa","aab", "aac", "aad" £ @day_of_month = ("01".."31" .¿É°üº¬±äÁ¿»ò±í´ïʽ £ ($var1..$var2+5) .С¼¼ÇÉ£º £ $fred = "Fred"; £ print (("Hello, " . $fred . "!\n" x 2); Æä½á¹ûΪ£º £ Hello, Fred! £ Hello, Fred! 4¡¢Êý×éµÄÊä³ö£º (1) @array = (1, 2, 3); £ print (@array, "\n" ; ½á¹ûΪ£º £ 123 (2) @array = (1, 2, 3); £ print ("@array\n" ; ½á¹ûΪ£º £ 1 2 3 5¡¢Áбí/Êý×éµÄ³¤¶È µ±Êý×é±äÁ¿³öÏÖÔÚÔ¤ÆÚ¼òµ¥±äÁ¿³öÏֵĵط½£¬ÔòPERL½âÊÍÆ÷È¡Æä³¤¶È¡£ £ @array = (1, 2, 3); £ $scalar = @array; # $scalar = 3,¼´@arrayµÄ³¤¶È £ ($scalar) = @array; # $scalar = 1,¼´@arrayµÚÒ»¸öÔªËØµÄÖµ ×¢£ºÒÔÊý×éµÄ³¤¶ÈΪѻ·´ÎÊý¿ÉÈçϱà³Ì£º £ $count = 1; £ while ($count <= @array) { £ print ("element $count: $array[$count-1]\n" ; £ $count++; £ } 6¡¢×ÓÊý×é £ @array = (1, 2, 3, 4, 5); £ @subarray = @array[0,1]; # @subarray = (1, 2) £ @subarray2 = @array[1..3]; # @subarray2 = (2,3,4) £ @array[0,1] = ("string", 46); # @array =("string",46,3,4,5) now £ @array[0..3] = (11, 22, 33, 44); # @array = (11,22,33,44,5) now £ @array[1,2,3] = @array[3,2,4]; # @array = (11,44,33,5,5) now £ @array[0..2] = @array[3,4]; # @array = (5,5,"",5,5) now ¿ÉÒÔÓÃ×ÓÊý×éÐÎʽÀ´½»»»ÔªËØ£º £ @array[1,2] = @array[2,1]; 7¡¢ÓйØÊý×éµÄ¿âº¯Êý (1)sort--°´×Ö·û˳ÐòÅÅÐò £ @array = ("this", "is", "a","test" ; £ @array2 = sort(@array); # @array2 = ("a","is", "test", "this" £ @array = (70, 100, 8); £ @array = sort(@array); # @array = (100, 70, 8) now ( 2)reverse--·´×ªÊý×é £ @array2 = reverse(@array); £ @array2 = reverse sort (@array); (3)chop--Êý×éȥβ £ chopµÄÒâÒåÊÇÈ¥µôSTDIN£¨¼üÅÌ£©ÊäÈë×Ö·û´®Ê±×îºóÒ»¸ö×Ö·û--»»Ðзû¡£¶øÈç¹ûËü×÷Óõ½Êý×éÉÏ£¬Ôò½«Êý×éÖÐÿһ¸öÔªËØ¶¼×öÈç´Ë´¦Àí¡£ £ @list = ("rabbit", "12345","quartz" ; £ chop (@list); # @list = ("rabbi", "1234","quart" now ( 4)join/split--Á¬½Ó/²ð·Ö £ joinµÄµÚÒ»¸ö²ÎÊýÊÇÁ¬½ÓËùÓõÄÖмä×Ö·û£¬ÆäÓàÔòΪ´ýÁ¬½ÓµÄ×Ö·ûÊý×é¡£ £ $string = join(" ", "this", "is","a", "string" ; # ½á¹ûΪ"this is a string" £ @list = ("words","and" ; £ $string = join("::", @list, "colons" ; #½á¹ûΪ"words::and::colons" £ @array = split(/::/,$string); # @array = ("words","and", "colons" now (δÍê) |

2Â¥2005-06-14 19:15:41
miRNA
ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)
Ë®ÍõÖ®Íõ£¨ÓÞÓÞѧ԰¹ÜÀíÔ±£©
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ¹ó±ö: 16.6
- ½ð±Ò: 13289.9
- ºì»¨: 4
- Ìû×Ó: 4967
- ÔÚÏß: 10.3Сʱ
- ³æºÅ: 56231
- ×¢²á: 2005-01-07
- רҵ: ½ðÊôÓлú»¯Ñ§
|
µÚÎåÕ Îļþ¶Áд Ò»¡¢´ò¿ª¡¢¹Ø±ÕÎļþ Ó﷨Ϊopen (filevar, filename)£¬ÆäÖÐfilevarΪÎļþ¾ä±ú£¬»òÕß˵ÊdzÌÐòÖÐÓÃÀ´´ú±íijÎļþµÄ´úºÅ£¬filenameΪÎļþÃû£¬Æä·¾¶¿ÉΪÏà¶Ô·¾¶£¬Òà¿ÉΪ¾ø¶Ô·¾¶¡£ £ open(FILE1,"file1"); £ open(FILE1, "/u/jqpublic/file1"); ´ò¿ªÎļþʱ±ØÐë¾ö¶¨·ÃÎÊģʽ£¬ÔÚPERLÖÐÓÐÈýÖÖ·ÃÎÊģʽ£º¶Á¡¢Ð´ºÍÌí¼Ó¡£ºóÁ½ÖÖģʽµÄÇø±ðÔÚÓÚдģʽ½«ÔÎļþ¸²¸Ç£¬ÔÓÐÄÚÈݶªÊ§£¬ÐÎʽΪ£ºopen(outfile,">outfile");¶øÌí¼ÓģʽÔòÔÚÔÎļþµÄĩβ´¦¼ÌÐøÌí¼ÓÄÚÈÝ£¬ÐÎʽΪ£ºopen(appendfile, ">>appendfile")¡£Òª×¢ÒâµÄÊÇ£¬²»ÄܶÔÎļþͬʱ½øÐжÁºÍд/Ìí¼Ó²Ù×÷¡£ openµÄ·µ»ØÖµÓÃÀ´È·¶¨´ò¿ªÎļþµÄ²Ù×÷ÊÇ·ñ³É¹¦£¬µ±Æä³É¹¦Ê±·µ»Ø·ÇÁãÖµ£¬Ê§°Üʱ·µ»ØÁ㣬Òò´Ë¿ÉÒÔÈçÏÂÅжϣº £ if (open(MYFILE, "myfile")) { £ # here's what to do if the file opened successfully £ } µ±Îļþ´ò¿ªÊ§°Üʱ½áÊø³ÌÐò£º £ unless (open (MYFILE, "file1")) { £ die ("cannot open input file file1\n"); £ } Òà¿ÉÓÃÂß¼»ò²Ù×÷·û±íʾÈçÏ£º £ open (MYFILE, "file1") || die ("Could not open file"); µ±Îļþ²Ù×÷Íê±Ïºó£¬ÓÃclose(MYFILE); ¹Ø±ÕÎļþ¡£ ¶þ¡¢¶ÁÎļþ Óï¾ä$line = Óï¾ä@array = Èý¡¢Ð´Îļþ ÐÎʽΪ£º £ open(OUTFILE, ">outfile"); £ print OUTFILE ("Here is an output line.\n"); ×¢£ºSTDOUT¡¢STDERRΪ±ê×¼Êä³öºÍ±ê×¼´íÎóÎļþ£¬Í¨³£ÎªÆÁÄ»£¬ÇÒ²»ÐèÒª´ò¿ª¡£ ËÄ¡¢ÅжÏÎļþ״̬ 1¡¢Îļþ²âÊÔ²Ù×÷·û Ó﷨Ϊ£º-op expr£¬È磺 £ if (-e "/path/file1") { £ print STDERR ("File file1 exists.\n"); £ } Îļþ²âÊÔ²Ù×÷·û ²Ù×÷·ûÃèÊö -bÊÇ·ñΪ¿éÉ豸 -c ÊÇ·ñΪ×Ö·ûÉ豸 -d ÊÇ·ñΪĿ¼ -e ÊÇ·ñ´æÔÚ -f ÊÇ·ñΪÆÕͨÎļþ -g ÊÇ·ñÉèÖÃÁËsetgidλ -k ÊÇ·ñÉèÖÃÁËstickyλ -l ÊÇ·ñΪ·ûºÅÁ´½Ó -o ÊÇ·ñÓµÓиÃÎļþ -p ÊÇ·ñΪ¹ÜµÀ -r ÊÇ·ñ¿É¶Á -s ÊÇ·ñ·Ç¿Õ -t ÊÇ·ñ±íʾÖÕ¶Ë -u ÊÇ·ñÉèÖÃÁËsetuidλ -w ÊÇ·ñ¿Éд -x ÊÇ·ñ¿ÉÖ´ÐÐ -z ÊÇ·ñΪ¿ÕÎļþ -A ¾àÉϴηÃÎʶ೤ʱ¼ä -B ÊÇ·ñΪ¶þ½øÖÆÎļþ -C ¾àÉϴηÃÎÊÎļþµÄinode¶à³¤Ê±¼ä -M ¾àÉÏ´ÎÐ޸Ķ೤ʱ¼ä -O ÊÇ·ñֻΪ¡°ÕæÕýµÄÓû§¡±ËùÓµÓÐ -R ÊÇ·ñÖ»ÓС°ÕæÕýµÄÓû§¡±¿É¶Á -S ÊÇ·ñΪsocket -T ÊÇ·ñΪÎı¾Îļþ -W ÊÇ·ñÖ»ÓÐ"ÕæÕýµÄÓû§"¿Éд -X ÊÇ·ñÖ»ÓÐ"ÕæÕýµÄÓû§"¿ÉÖ´ÐÐ ×¢£º¡°ÕæÕýµÄÓû§¡±Ö¸µÇ¼ʱָ¶¨µÄuserid£¬Ó뵱ǰ½ø³ÌÓû§IDÏà¶Ô£¬ÃüÁîsuid¿ÉÒԸıäÓÐЧÓû§ID¡£ Àý£º £ unless (open(INFILE, "infile")) { £ die ("Input file infile cannot be opened.\n"); £ } £ if (-e "outfile") { £ die ("Output file outfile already exists.\n"); £ } £ unless (open(OUTFILE, ">outfile")) { £ die ("Output file outfile cannot be opened.\n"); £ } µÈ¼ÛÓÚ £ open(INFILE, "infile") && !(-e "outfile") && £ open(OUTFILE, ">outfile") || die("Cannot open files\n"); Îå¡¢ÃüÁîÐвÎÊý ÏóCÒ»Ñù£¬PERLÒ²Óд洢ÃüÁîÐвÎÊýµÄÊý×é@ARGV£¬¿ÉÒÔÓÃÀ´·Ö±ð´¦Àí¸÷¸öÃüÁîÐвÎÊý£»ÓëC²»Í¬µÄÊÇ£¬$ARGV[0]ÊǵÚÒ»¸ö²ÎÊý£¬¶ø²»ÊdzÌÐòÃû±¾Éí¡£ £ $var = $ARGV[0]; # µÚÒ»¸ö²ÎÊý £ $numargs = @ARGV; # ²ÎÊýµÄ¸öÊý PERLÖУ¬<>²Ù×÷·ûʵ¼ÊÉÏÊǶÔÊý×é@ARGVµÄÒþº¬µÄÒýÓã¬Æä¹¤×÷ÔÀíΪ£º 1¡¢µ±PERL½âÊÍÆ÷µÚÒ»´Î¿´µ½<>ʱ£¬´ò¿ªÒÔ$ARGV[0]ΪÎļþÃûµÄÎļþ£» 2¡¢Ö´Ðж¯×÷shift(@ARGV); ¼´°ÑÊý×é@ARGVµÄÔªËØÏòÇ°ÒÆ¶¯Ò»¸ö£¬ÆäÔªËØÊýÁ¿¼´¼õÉÙÁËÒ»¸ö¡£ 3¡¢<>²Ù×÷·û¶ÁÈ¡ÔÚµÚÒ»²½´ò¿ªµÄÎļþÖеÄËùÓÐÐС£ 4¡¢¶ÁÍêºó£¬½âÊÍÆ÷»Øµ½µÚÒ»²½Öظ´¡£ Àý£º £ @ARGV = ("myfile1", "myfile2"); #ʵ¼ÊÉÏÓÉÃüÁîÐвÎÊý¸³Öµ £ while ($line = <>) { £ print ($line); £ } ½«°ÑÎļþmyfile1ºÍmyfile2µÄÄÚÈÝ´òÓ¡³öÀ´¡£ Áù¡¢´ò¿ª¹ÜµÀ ÓóÌÐòµÄÐÎʽҲ¿ÉÒÔÏóÃüÁîÐÐÒ»Ñù´ò¿ªºÍʹÓùܵÀ(ex:ls > tempfile)¡£ÈçÓï¾äopen (MYPIPE, "| cat >hello"); ´ò¿ªÒ»¸ö¹ÜµÀ£¬·¢Ë͵½MYPIPEµÄÊä³ö³ÉΪÃüÁî"cat >hello"µÄÊäÈë¡£ÓÉÓÚcatÃüÁÏÔʾÊäÈëÎļþµÄÄÚÈÝ£¬¹Ê¸ÃÓï¾äµÈ¼ÛÓÚopen(MYPIPE, ">hello"); ÓùܵÀ·¢ËÍÓʼþÈçÏ£º £ open (MESSAGE, "| mail dave"); £ print MESSAGE ("Hi, Dave! Your Perl program sent this!\n"); £ close (MESSAGE); µÚÁùÕ ģʽƥÅä Ò»¡¢¼ò½é £ ģʽָÔÚ×Ö·û´®ÖÐѰÕÒµÄÌØ¶¨ÐòÁеÄ×Ö·û£¬ÓÉ·´Ð±Ïß°üº¬£º/def/¼´Ä£Ê½def¡£ÆäÓ÷¨Èç½áºÏº¯Êýsplit½«×Ö·û´®ÓÃijģʽ·Ö³É¶à¸öµ¥´Ê£º@array = split(/ /, $line); ¶þ¡¢Æ¥Åä²Ù×÷·û =~¡¢!~ £ =~¼ìÑ鯥ÅäÊÇ·ñ³É¹¦£º$result = $var =~ /abc/;ÈôÔÚ¸Ã×Ö·û´®ÖÐÕÒµ½Á˸Ãģʽ£¬Ôò·µ»Ø·ÇÁãÖµ£¬¼´true£¬²»Æ¥ÅäÔò·µ»Ø0£¬¼´false¡£!~ÔòÏà·´¡£ £ ÕâÁ½¸ö²Ù×÷·ûÊÊÓÚÌõ¼þ¿ØÖÆÖУ¬È磺 £ if ($question =~ /please/) { £ £ print ("Thank you for being polite!\n"); £ } £ else { £ £ print ("That was not very polite!\n"); £ } Èý¡¢Ä£Ê½ÖеÄÌØÊâ×Ö·û £ PERLÔÚģʽÖÐÖ§³ÖÒ»Ð©ÌØÊâ×Ö·û£¬¿ÉÒÔÆðµ½Ò»Ð©ÌØÊâµÄ×÷Óᣠ1¡¢×Ö·û + £ +Òâζ×ÅÒ»¸ö»ò¶à¸öÏàͬµÄ×Ö·û£¬È磺/de+f/Ö¸def¡¢deef¡¢deeeeefµÈ¡£Ëü¾¡Á¿Æ¥Å価¿ÉÄܶàµÄÏàͬ×Ö·û£¬Èç/ab+/ÔÚ×Ö·û´®abbcÖÐÆ¥ÅäµÄ½«ÊÇabb£¬¶ø²»ÊÇab¡£ £ µ±Ò»ÐÐÖи÷µ¥´Ê¼äµÄ¿Õ¸ñ¶àÓÚÒ»¸öʱ£¬¿ÉÒÔÈçÏ·ָ £ £ @array = split (/ +/, $line); £ ×¢£ºsplitº¯Êýÿ´ÎÓöµ½·Ö¸îģʽ£¬×ÜÊÇ¿ªÊ¼Ò»¸öе¥´Ê£¬Òò´ËÈô$lineÒÔ¿Õ¸ñ´òÍ·£¬Ôò@arrayµÄµÚÒ»¸öÔªËØ¼´Îª¿ÕÔªËØ¡£µ«Æä¿ÉÒÔÇø·ÖÊÇ·ñÕæÓе¥´Ê£¬ÈçÈô$lineÖÐÖ»Óпոñ£¬Ôò@arrayÔòΪ¿ÕÊý×é¡£ÇÒÉÏÀýÖÐTAB×Ö·û±»µ±×÷Ò»¸öµ¥´Ê¡£×¢ÒâÐÞÕý¡£ 2¡¢×Ö·û []ºÍ[^] £ []Òâζ×ÅÆ¥ÅäÒ»×é×Ö·ûÖеÄÒ»¸ö£¬Èç/a[0123456789]c/½«Æ¥Åäa¼ÓÊý×Ö¼ÓcµÄ×Ö·û´®¡£Óë+ÁªºÏʹÓÃÀý£º/d[eE]+f/Æ¥Åädef¡¢dEf¡¢deef¡¢dEdf¡¢dEEEeeeEefµÈ¡£^±íʾ³ýÆäÖ®ÍâµÄËùÓÐ×Ö·û£¬È磺/d[^deE]f/Æ¥Åäd¼Ó·Çe×Ö·û¼ÓfµÄ×Ö·û´®¡£ 3¡¢×Ö·û *ºÍ? £ ËüÃÇÓë+ÀàËÆ£¬Çø±ðÔÚÓÚ*Æ¥Åä0¸ö¡¢1¸ö»ò¶à¸öÏàͬ×Ö·û£¬?Æ¥Åä0¸ö»ò1¸ö¸Ã×Ö·û¡£Èç/de*f/Æ¥Åädf¡¢def¡¢deeeefµÈ£»/de?f/Æ¥Åädf»òdef¡£ 4¡¢×ªÒå×Ö·û £ Èç¹ûÄãÏëÔÚģʽÖаüº¬Í¨³£±»¿´×÷ÌØÊâÒâÒåµÄ×Ö·û£¬ÐëÔÚÆäǰ¼ÓбÏß"\"¡£È磺/\*+/ÖÐ\*¼´±íʾ×Ö·û*£¬¶ø²»ÊÇÉÏÃæÌáµ½µÄÒ»¸ö»ò¶à¸ö×Ö·ûµÄº¬Ò塣бÏߵıíʾΪ/\\/¡£ÔÚPERL5ÖпÉÓÃ×Ö·û¶Ô\QºÍ\EÀ´×ªÒå¡£ 5¡¢Æ¥ÅäÈÎÒâ×Öĸ»òÊý×Ö £ ÉÏÃæÌᵽģʽ/a[0123456789]c/Æ¥Åä×Öĸa¼ÓÈÎÒâÊý×Ö¼ÓcµÄ×Ö·û´®£¬ÁíÒ»ÖÖ±íʾ·½·¨Îª£º/a[0-9]c/£¬ÀàËÆµÄ£¬[a-z]±íʾÈÎÒâСд×Öĸ£¬[A-Z]±íʾÈÎÒâ´óд×Öĸ¡£ÈÎÒâ´óСд×Öĸ¡¢Êý×ֵıíʾ·½·¨Îª£º/[0-9a-zA-Z]/¡£ 6¡¢ÃªÄ£Ê½ êÃèÊö ^ »ò \A½öÆ¥Åä´®Ê× $ »ò \Z½öÆ¥Å䴮β \bÆ¥Åäµ¥´Ê±ß½ç \Bµ¥´ÊÄÚ²¿Æ¥Åä £ Àý1£º/^def/ֻƥÅäÒÔdef´òÍ·µÄ×Ö·û´®£¬/$def/ֻƥÅäÒÔdef½áβµÄ×Ö·û´®£¬½áºÏÆðÀ´µÄ/^def$/ֻƥÅä×Ö·û´®def(?)¡£\AºÍ\ZÔÚ¶àÐÐÆ¥ÅäʱÓë^ºÍ$²»Í¬¡£ £ Àý2£º¼ìÑé±äÁ¿ÃûµÄÀàÐÍ£º £ £ if ($varname =~ /^\$[A-Za-z][_0-9a-zA-Z]*$/) { £ £ £ print ("$varname is a legal scalar variable\n"); £ £ } elsif ($varname =~ /^@[A-Za-z][_0-9a-zA-Z]*$/) { £ £ £ print ("$varname is a legal array variable\n"); £ £ } elsif ($varname =~ /^[A-Za-z][_0-9a-zA-Z]*$/) { £ £ £ print ("$varname is a legal file variable\n"); £ £ } else { £ £ £ print ("I don't understand what $varname is.\n"); £ } £ Àý3£º\bÔÚµ¥´Ê±ß½çÆ¥Å䣺/\bdef/Æ¥ÅädefºÍdefghiµÈÒÔdef´òÍ·µÄµ¥´Ê£¬µ«²»Æ¥Åäabcdef¡£/def\b/Æ¥ÅädefºÍabcdefµÈÒÔdef½áβµÄµ¥´Ê£¬µ«²»Æ¥Åädefghi£¬/\bdef\b/ֻƥÅä×Ö·û´®def¡£×¢Ò⣺/\bdef/¿ÉÆ¥Åä$defghi£¬ÒòΪ$²¢²»±»¿´×÷Êǵ¥´ÊµÄ²¿·Ö¡£ £ Àý4£º\BÔÚµ¥´ÊÄÚ²¿Æ¥Å䣺/\Bdef/Æ¥ÅäabcdefµÈ£¬µ«²»Æ¥Åädef£»/def\B/Æ¥ÅädefghiµÈ£»/\Bdef\B/Æ¥Åäcdefg¡¢abcdefghiµÈ£¬µ«²»Æ¥Åädef,defghi,abcdef¡£ 7¡¢Ä£Ê½ÖеıäÁ¿Ìæ»» £ ½«¾ä×ӷֳɵ¥´Ê£º £ £ $pattern = "[\\t ]+"; £ £ @words = split(/$pattern/, $line); 8¡¢×Ö·û·¶Î§×ªÒå E תÒå×Ö·ûÃèÊö·¶Î§ \dÈÎÒâÊý×Ö[0-9] \D³ýÊý×ÖÍâµÄÈÎÒâ×Ö·û [^0-9] \wÈÎÒâµ¥´Ê×Ö·û[_0-9a-zA-Z] \WÈÎÒâ·Çµ¥´Ê×Ö·û[^_0-9a-zA-Z] \s¿Õ°×[ \r\t\n\f] \S·Ç¿Õ°×[^ \r\t\n\f] £ Àý£º/[\da-z]/Æ¥ÅäÈÎÒâÊý×Ö»òСд×Öĸ¡£ 9¡¢Æ¥ÅäÈÎÒâ×Ö·û £ ×Ö·û"."Æ¥Åä³ý»»ÐÐÍâµÄËùÓÐ×Ö·û£¬Í¨³£Óë*ºÏÓᣠ10¡¢Æ¥ÅäÖ¸¶¨ÊýÄ¿µÄ×Ö·û £ ×Ö·û¶Ô{}Ö¸¶¨ËùÆ¥Åä×Ö·ûµÄ³öÏÖ´ÎÊý¡£È磺/def/Æ¥Åädef,deefºÍdeeef£»/def/Æ¥Åädeeef£»/def/Æ¥Åä²»ÉÙÓÚ3¸öeÔÚdºÍfÖ®¼ä£»/def/Æ¥Åä²»¶àÓÚ3¸öeÔÚdºÍfÖ®¼ä¡£ 11¡¢Ö¸¶¨Ñ¡Ïî £ ×Ö·û"|"Ö¸¶¨Á½¸ö»ò¶à¸öÑ¡ÔñÀ´Æ¥Åäģʽ¡£È磺/def|ghi/Æ¥Åädef»òghi¡£ £ Àý£º¼ìÑéÊý×Ö±íʾºÏ·¨ÐÔ £ if ($number =~ /^-?\d+$|^-?0[xX][\da-fa-F]+$/) { £ £ print ("$number is a legal integer.\n"); £ } else { £ £ print ("$number is not a legal integer.\n"); £ } £ ÆäÖÐ ^-?\d+$ Æ¥ÅäÊ®½øÖÆÊý×Ö£¬^-?0[xX][\da-fa-F]+$ Æ¥ÅäÊ®Áù½øÖÆÊý×Ö¡£ 12¡¢Ä£Ê½µÄ²¿·ÖÖØÓà £ µ±Ä£Ê½ÖÐÆ¥ÅäÏàͬµÄ²¿·Ö³öÏÖ¶à´Îʱ£¬¿ÉÓÃÀ¨ºÅÀ¨ÆðÀ´£¬ÓÃ\nÀ´¶à´ÎÒýÓã¬ÒÔ¼ò»¯±í´ïʽ£º /\d([\W])\d\1\d/ Æ¥Å䣺 £ £ 12-05-92 £ £ 26.11.87 £ £ 07 04 92µÈ £ ×¢Ò⣺/\d([\W])\d\1\d/ ²»Í¬ÓÚ/(\d)([\W])\1\2\1/ £¬ºóÕßֻƥÅäÐÎÈç17-17-17µÄ×Ö·û´®£¬¶ø²»Æ¥Åä17-05-91µÈ¡£ 13¡¢×ªÒåºÍÌØ¶¨×Ö·ûµÄÖ´ÐдÎÐò £ Ïó²Ù×÷·ûÒ»Ñù£¬×ªÒåºÍÌØ¶¨×Ö·ûÒ²ÓÐÖ´ÐдÎÐò£º ÌØÊâ×Ö·ûÃèÊö ()ģʽÄÚ´æ + * ? {}³öÏÖ´ÎÊý ^ $ \b \Bê |Ñ¡Ïî 14¡¢Ö¸¶¨Ä£Ê½¶¨½ç·û £ ȱʡµÄ£¬Ä£Ê½¶¨½ç·ûΪ·´Ð±Ïß/£¬µ«Æä¿ÉÓÃ×Öĸm×ÔÐÐÖ¸¶¨£¬È磺 £ £ m!/u/jqpublic/perl/prog1! µÈ¼ÛÓÚ/\/u\/jqpublic\/perl\/prog1/ £ ×¢£ºµ±ÓÃ×Öĸ'×÷Ϊ¶¨½ç·ûʱ£¬²»×ö±äÁ¿Ìæ»»£»µ±ÓÃÌØÊâ×Ö·û×÷Ϊ¶¨½ç·ûʱ£¬ÆäתÒ幦ÄÜ»òÌØÊ⹦Äܼ´²»ÄÜʹÓᣠ15¡¢Ä£Ê½´ÎÐò±äÁ¿ £ ÔÚģʽƥÅäºóµ÷ÓÃÖØÓò¿·ÖµÄ½á¹û¿ÉÓñäÁ¿$n£¬È«²¿µÄ½á¹ûÓñäÁ¿$Content$amp;¡£ £ £ $string = "This string contains the number 25.11."; £ £ $string =~ /-?(\d+)\.?(\d+)/; # Æ¥Åä½á¹ûΪ25.11 £ £ $integerpart = $1; # now $integerpart = 25 £ £ $decimalpart = $2; # now $decimalpart = 11 £ £ $totalpart = $Content$amp;; # now totalpart = 25.11 ËÄ¡¢Ä£Ê½Æ¥ÅäÑ¡Ïî Ñ¡ÏîÃèÊö gÆ¥ÅäËùÓпÉÄܵÄģʽ iºöÂÔ´óСд m½«´®ÊÓΪ¶àÐÐ oÖ»¸³ÖµÒ»´Î s½«´®ÊÓΪµ¥ÐÐ xºöÂÔģʽÖÐµÄ¿Õ°× 1¡¢Æ¥ÅäËùÓпÉÄܵÄģʽ(gÑ¡Ïî) £ @matches = "balata" =~ /.a/g; # now @matches = ("ba", "la", "ta") £ Æ¥ÅäµÄÑ»·£º £ while ("balata" =~ /.a/g) { £ £ $match = $Content$amp;; £ £ print ("$match\n"); £ } £ ½á¹ûΪ£º £ £ ba £ £ la £ £ ta £ µ±Ê¹ÓÃÁËÑ¡Ïîgʱ£¬¿ÉÓú¯ÊýposÀ´¿ØÖÆÏÂ´ÎÆ¥ÅäµÄÆ«ÒÆ£º £ £ $offset = pos($string); £ £ pos($string) = $newoffset; 2¡¢ºöÂÔ´óСд(iÑ¡Ïî)Àý £ /de/i Æ¥Åäde,dE,DeºÍDE¡£ 3¡¢½«×Ö·û´®¿´×÷¶àÐÐ(mÑ¡Ïî) £ ÔÚ´ËÇé¿öÏ£¬^·ûºÅÆ¥Åä×Ö·û´®µÄÆðʼ»òеÄÒ»ÐÐµÄÆðʼ£»$·ûºÅÆ¥ÅäÈÎÒâÐеÄĩβ¡£ 4¡¢Ö»Ö´ÐÐÒ»´Î±äÁ¿Ìæ»»Àý £ $var = 1; £ $line = £ while ($var < 10) { £ £ $result = $line =~ /$var/o; £ £ $line = £ £ $var++; £ } £ ÿ´Î¾ùÆ¥Åä/1/¡£ 5¡¢½«×Ö·û´®¿´×÷µ¥ÐÐÀý £ /a.*bc/sÆ¥Åä×Ö·û´®axxxxx \nxxxxbc£¬µ«/a.*bc/Ôò²»Æ¥Åä¸Ã×Ö·û´®¡£ 6¡¢ÔÚģʽÖкöÂÔ¿Õ¸ñ £ /\d ([\W]) \d \1 \d/xµÈ¼ÛÓÚ/\d([\W])\d\1\d/¡£ Îå¡¢Ìæ»»²Ù×÷·û £ Ó﷨Ϊs/pattern/replacement/£¬ÆäЧ¹ûΪ½«×Ö·û´®ÖÐÓëpatternÆ¥ÅäµÄ²¿·Ö»»³Éreplacement¡£È磺 £ £ $string = "abc123def"; £ £ $string =~ s/123/456/; # now $string = "abc456def"; £ ÔÚÌæ»»²¿·Ö¿ÉʹÓÃģʽ´ÎÐò±äÁ¿$n£¬Èçs/(\d+)/[$1]/£¬µ«ÔÚÌæ»»²¿·Ö²»Ö§³ÖģʽµÄÌØÊâ×Ö·û£¬Èç{},*,+µÈ£¬Èçs/abc/[def]/½«°ÑabcÌæ»»Îª[def]¡£ £ Ìæ»»²Ù×÷·ûµÄÑ¡ÏîÈçÏÂ±í£º Ñ¡ÏîÃèÊö g¸Ä±äģʽÖеÄËùÓÐÆ¥Åä iºöÂÔģʽÖеĴóСд eÌæ»»×Ö·û´®×÷Ϊ±í´ïʽ m½«´ýÆ¥Åä´®ÊÓΪ¶àÐÐ o½ö¸³ÖµÒ»´Î s½«´ýÆ¥Åä´®ÊÓΪµ¥ÐÐ xºöÂÔģʽÖÐµÄ¿Õ°× £ ×¢£ºeÑ¡Ïî°ÑÌæ»»²¿·ÖµÄ×Ö·û´®¿´×÷±í´ïʽ£¬ÔÚÌæ»»Ö®Ç°ÏȼÆËãÆäÖµ£¬È磺 £ £ $string = "0abc1"; £ £ $string =~ s/[a-zA-Z]+/$Content$amp; x 2/e; # now $string = "0abcabc1" Áù¡¢·Òë²Ù×÷·û £ ÕâÊÇÁíÒ»ÖÖÌæ»»·½Ê½£¬Óï·¨È磺tr/string1/string2/¡£Í¬Ñù£¬string2ÎªÌæ»»²¿·Ö£¬µ«ÆäЧ¹ûÊǰÑstring1ÖеĵÚÒ»¸ö×Ö·ûÌæ»»Îªstring2ÖеĵÚÒ»¸ö×Ö·û£¬°Ñstring1Öеĵڶþ¸ö×Ö·ûÌæ»»Îªstring2Öеĵڶþ¸ö×Ö·û£¬ÒÀ´ËÀàÍÆ¡£È磺 £ £ $string = "abcdefghicba"; £ £ $string =~ tr/abc/def/; # now string = "defdefghifed" £ µ±string1±Èstring2³¤Ê±£¬Æä¶àÓà×Ö·ûÌæ»»Îªstring2µÄ×îºóÒ»¸ö×Ö·û£»µ±string1ÖÐͬһ¸ö×Ö·û³öÏÖ¶à´Îʱ£¬½«Ê¹ÓõÚÒ»¸öÌæ»»×Ö·û¡£ £ ·Òë²Ù×÷·ûµÄÑ¡ÏîÈçÏ£º Ñ¡ÏîÃèÊö c·ÒëËùÓÐδָ¶¨×Ö·û dɾ³ýËùÓÐÖ¸¶¨×Ö·û s°Ñ¶à¸öÏàͬµÄÊä³ö×Ö·ûËõ³ÉÒ»¸ö £ Èç$string =~ tr/\d/ /c;°ÑËùÓзÇÊý×Ö×Ö·ûÌæ»»Îª¿Õ¸ñ¡£$string =~ tr/\t //d£»É¾³ýtabºÍ¿Õ¸ñ£»£ $string =~ tr/0-9/ /cs£»°ÑÊý×Ö¼äµÄÆäËü×Ö·ûÌæ»»ÎªÒ»¸ö¿Õ¸ñ¡£ Æß¡¢À©Õ¹Ä£Ê½Æ¥Åä £ PERLÖ§³ÖPERL4ºÍ±ê×¼UNIXģʽƥÅä²Ù×÷ËùûÓеÄһЩģʽƥÅäÄÜÁ¦¡£ÆäÓ﷨Ϊ£º(? 1¡¢²»´æÖüÀ¨ºÅÄ򵀮¥ÅäÄÚÈÝ £ ÔÚPERLµÄģʽÖУ¬À¨ºÅÄÚµÄ×Óģʽ½«´æÖüÔÚÄÚ´æÖУ¬´Ë¹¦Äܼ´È¡Ïû´æÖü¸ÃÀ¨ºÅÄ򵀮¥ÅäÄÚÈÝ£¬Èç/(?:a|b|c)(d|e)f\1/ÖеÄ\1±íʾÒÑÆ¥ÅäµÄd»òe£¬¶ø²»ÊÇa»òb»òc¡£ 2¡¢ÄÚǶģʽѡÏî £ ͨ³£Ä£Ê½Ñ¡ÏîÖÃÓÚÆäºó£¬ÓÐËĸöÑ¡Ïi¡¢m¡¢s¡¢x¿ÉÒÔÄÚǶʹÓã¬Ó﷨Ϊ£º/(?option)pattern/£¬µÈ¼ÛÓÚ/pattern/option¡£ 3¡¢¿Ï¶¨µÄºÍ·ñ¶¨µÄÔ¤¼ûÆ¥Åä £ ¿Ï¶¨µÄÔ¤¼ûÆ¥ÅäÓ﷨Ϊ/pattern(?=string)/£¬ÆäÒâÒåΪƥÅäºóÃæÎªstringµÄģʽ£¬Ïà·´µÄ£¬(?!string)ÒâÒåΪƥÅäºóÃæ·ÇstringµÄģʽ£¬È磺 £ £ $string = "25abc8"; £ £ $string =~ /abc(?=[0-9])/; £ £ $matched = $Content$amp;; # $Content$amp;ΪÒÑÆ¥ÅäµÄģʽ£¬´Ë´¦Îªabc£¬¶ø²»ÊÇabc8 4¡¢Ä£Ê½×¢ÊÍ £ PERL5ÖпÉÒÔÔÚģʽÖÐÓÃ?#À´¼Ó×¢ÊÍ£¬È磺 £ £ if ($string =~ /(?i)[a-z](?# match two or three alphabetic characters)/ { £ £ £ ... £ £ } |

3Â¥2005-06-14 19:16:56
miRNA
ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)
Ë®ÍõÖ®Íõ£¨ÓÞÓÞѧ԰¹ÜÀíÔ±£©
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ¹ó±ö: 16.6
- ½ð±Ò: 13289.9
- ºì»¨: 4
- Ìû×Ó: 4967
- ÔÚÏß: 10.3Сʱ
- ³æºÅ: 56231
- ×¢²á: 2005-01-07
- רҵ: ½ðÊôÓлú»¯Ñ§
|
µÚÆßÕ ¿ØÖƽṹ Ò»¡¢Ìõ¼þÅÐ¶Ï if ( £ } elsif ( £ } ... else{ £ } ¶þ¡¢Ñ»·£º 1¡¢whileÑ»· while ( £ } 2¡¢untilÑ»· until ( £ } 3¡¢ÀàCµÄforÑ»· £¬Èç for ($count=1; $count <= 5; $count++) { £ # statements inside the loop go here } ÏÂÃæÊÇÔÚforÑ»·ÖÐʹÓöººÅ²Ù×÷·ûµÄÀý×Ó£º for ($line = £ print ($line); } ËüµÈ¼ÛÓÚÏÂÁÐÓï¾ä£º $line = $count = 1; while ($count <= 3) { £ print ($line); £ $line = £ $count++; } 4¡¢Õë¶ÔÁбí(Êý×é)ÿ¸öÔªËØµÄÑ»·£ºforeach£¬Ó﷨Ϊ£º foreach localvar (listexpr) { £ statement_block; } Àý£º foreach $word (@words) { £ if ($word eq "the" { £ £ print ("found the word 'the'\n" ; £ } } ×¢£º (1)´Ë´¦µÄÑ»·±äÁ¿localvarÊǸö¾Ö²¿±äÁ¿£¬Èç¹ûÔÚ´Ë֮ǰËüÒÑÓÐÖµ£¬ÔòÑ»·ºóÈÔ»Ö¸´¸ÃÖµ¡£ (2)ÔÚÑ»·Öиıä¾Ö²¿±äÁ¿£¬ÏàÓ¦µÄÊý×é±äÁ¿Ò²»á¸Ä±ä£¬È磺 @list = (1, 2, 3, 4, 5); foreach $temp (@list) { £ if ($temp == 2) { £ £ $temp = 20; £ } } ´Ëʱ@listÒѱä³ÉÁË(1, 20, 3, 4, 5)¡£ 5¡¢doÑ»· do { £ statement_block } while_or_until (condexpr); doÑ»·ÖÁÉÙÖ´ÐÐÒ»´ÎÑ»·¡£ 6¡¢Ñ»·¿ØÖÆ Í˳öÑ»·Îªlast£¬ÓëCÖеÄbreak×÷ÓÃÏàͬ£»Ö´ÐÐÏÂÒ»¸öÑ»·Îªnext£¬ÓëCÖеÄcontinue×÷ÓÃÏàͬ£»PERLÌØÓеÄÒ»¸öÃüÁîÊÇredo£¬Æäº¬ÒåÊÇÖØ¸´´Ë´ÎÑ»·£¬¼´Ñ»·±äÁ¿²»±ä£¬»Øµ½Ñ»·Æðʼµã£¬µ«Òª×¢Ò⣬redoÃüÁîÔÚdoÑ»·Öв»Æð×÷Óᣠ7¡¢´«Í³µÄgoto label;Óï¾ä¡£ Èý¡¢µ¥ÐÐÌõ¼þ Ó﷨Ϊstatement keyword condexpr¡£ÆäÖÐkeyword¿ÉΪif¡¢unless¡¢while»òuntil£¬È磺 £ print ("This is zero.\n" if ($var == 0); £ print ("This is zero.\n" unless ($var != 0); £ print ("Not zero yet.\n" while ($var-- > 0); £ print ("Not zero yet.\n" until ($var-- == 0); ËäÈ»Ìõ¼þÅжÏдÔÚºóÃæ£¬µ«È´ÊÇÏÈÖ´ÐÐµÄ µÚ°ËÕ ×Ó³ÌÐò Ò»¡¢¶¨Òå ×Ó³ÌÐò¼´Ö´ÐÐÒ»¸öÌØÊâÈÎÎñµÄÒ»¶Î·ÖÀëµÄ´úÂ룬Ëü¿ÉÒÔʹ¼õÉÙÖØ¸´´úÂëÇÒʹ³ÌÐòÒ×¶Á¡£PERLÖУ¬×Ó³ÌÐò¿ÉÒÔ³öÏÖÔÚ³ÌÐòµÄÈκεط½¡£¶¨Òå·½·¨Îª£º sub subroutine{ £ statements; } ¶þ¡¢µ÷Óà µ÷Ó÷½·¨ÈçÏ£º 1¡¢ÓÃ&µ÷Óà &subname; ... sub subname{ £ ... } 2¡¢Ïȶ¨Òåºóµ÷Óà £¬¿ÉÒÔÊ¡ÂÔ&·ûºÅ sub subname{ £ ... } ... subname; 3¡¢Ç°ÏòÒýÓà £¬Ïȶ¨Òå×Ó³ÌÐòÃû£¬ºóÃæÔÙ¶¨Òå×Ó³ÌÐòÌå sub subname; ... subname; ... sub subname{ £ ... } 4¡¢ÓÃdoµ÷Óà do my_sub(1, 2, 3);µÈ¼ÛÓÚ&my_sub(1, 2, 3); Èý¡¢·µ»ØÖµ ȱʡµÄ£¬×Ó³ÌÐòÖÐ×îºóÒ»¸öÓï¾äµÄÖµ½«ÓÃ×÷·µ»ØÖµ¡£Óï¾äreturn (retval);Ò²¿ÉÒÔÍÆ³ö×Ó³ÌÐò²¢·µ»ØÖµretval£¬retval¿ÉÒÔΪÁÐ±í¡£ ËÄ¡¢¾Ö²¿±äÁ¿ ×Ó³ÌÐòÖоֲ¿±äÁ¿µÄ¶¨ÒåÓÐÁ½ÖÖ·½·¨£ºmyºÍlocal¡£ÆäÇø±ðÊÇ£ºmy¶¨ÒåµÄ±äÁ¿Ö»ÔÚ¸Ã×Ó³ÌÐòÖдæÔÚ£»¶ølocal¶¨ÒåµÄ±äÁ¿²»´æÔÚÓÚÖ÷³ÌÐòÖУ¬µ«´æÔÚÓÚ¸Ã×Ó³ÌÐòºÍ¸Ã×Ó³ÌÐòµ÷ÓõÄ×Ó³ÌÐòÖÐ(ÔÚPERL4ÖÐûÓÐmy)¡£¶¨Òåʱ¿ÉÒÔ¸øÆä¸³Öµ£¬È磺 my($scalar) = 43; local(@array) = (1, 2, 3); Îå¡¢×Ó³ÌÐò²ÎÊý´«µÝ 1¡¢ÐÎʽ &sub1(&number1, $number2, $nubmer3); ... sub sub1{ £ my($number1, $number2, $number3) = @_; £ ... } 2¡¢´«ËÍÊý×é &addlist (@mylist); &addlist ("14", "6", "11" ; &addlist ($value1, @sublist, $value2); ... sub addlist { £ my (@list) = @_; £ ... } ²ÎÊýΪÊý×éʱ£¬×Ó³ÌÐòÖ»½«Ëü¸³¸øÒ»¸öÊý×é±äÁ¿¡£Èç sub twolists { £ my (@list1, @list2) = @_; } ÖÐ@list2±ØÈ»Îª¿Õ¡£µ«¼òµ¥±äÁ¿ºÍÊý×é±äÁ¿¿ÉÒÔͬʱ´«µÝ£º &twoargs(47, @mylist); # 47¸³¸ø$scalar£¬@mylist¸³¸ø@list &twoargs(@mylist); # @mylistµÄµÚÒ»¸öÔªËØ¸³¸ø$scalar£¬ÆäÓàµÄÔªËØ¸³¸ø@list ... sub twoargs { £ my ($scalar, @list) = @_; £ ... } Áù¡¢µÝ¹é×Ó³ÌÐò PERLÖУ¬×Ó³ÌÐò¿ÉÒÔ»¥Ïàµ÷Óã¬Æäµ÷Ó÷½·¨ÓëÉÏÊöÏàͬ£¬µ±µ÷ÓøÃ×Ó³ÌÐò±¾Éíʱ£¬¼´³ÉÁ˵ݹé×Ó³ÌÐò¡£µÝ¹é×Ó³ÌÐòÓÐÁ½¸öÌõ¼þ£º1¡¢³ýÁ˲»±»×Ó³ÌÐò¸Ä±äµÄ±äÁ¿Í⣬ËùÓеıäÁ¿±ØÐëµÄ¾Ö²¿µÄ£»2¡¢¸Ã×Ó³ÌÐòÒªº¬ÓÐÍ£Ö¹µ÷Óñ¾ÉíµÄ´úÂë¡£ Æß¡¢ÓñðÃû´«µÝÊý×é²ÎÊý 1¡¢ÓÃÇ°Ãæ½²µ½µÄµ÷Ó÷½·¨&my_sub(@array)½«°ÑÊý×é@arrayµÄÊý¾Ý¿½±´µ½×Ó³ÌÐòÖеıäÁ¿@_ÖУ¬µ±Êý×éºÜ´óʱ£¬½«»á»¨·Ñ½Ï¶àµÄ×ÊÔ´ºÍʱ¼ä£¬¶øÓñðÃû´«µÝ½«²»×öÕâЩ¹¤×÷£¬¶ø¶Ô¸ÃÊý×éÖ±½Ó²Ù×÷¡£ÐÎʽÈ磺 @myarray = (1, 2, 3, 4, 5); &my_sub(*myarray); sub my_sub { £ my (*subarray) = @_; } 2¡¢´Ë·½·¨ÀàËÆÓÚCÓïÑÔÖеĴ«µÝÊý×éµÄÆðʼµØÖ·Ö¸Õ룬µ«²¢²»Ò»Ñù£¬ÔÚ¶¨ÒåÊý×éµÄ±ðÃûÖ®ºó£¬Èç¹ûÓÐͬÃûµÄ¼òµ¥±äÁ¿£¬Ôò¶Ô¸Ã±äÁ¿Ò²ÊÇÆð×÷Óõġ£È磺 $foo = 26; @foo = ("here's", "a", "list" ; &testsub (*foo); ... sub testsub { £ local (*printarray) = @_; £ ... £ $printarray = 61; } µ±×Ó³ÌÐòÖ´ÐÐÍ꣬Ö÷³ÌÐòÖеÄ$fooµÄÖµÒѾ³ÉÁË61£¬¶ø²»ÔÙÊÇ26ÁË¡£ 3¡¢ÓñðÃûµÄ·½·¨¿ÉÒÔ´«µÝ¶à¸öÊý×飬È磺 @array1 = (1, 2, 3); @array2 = (4, 5, 6); &two_array_sub (*array1, *array2); sub two_array_sub { £ my (*subarray1, *subarray2) = @_; } ÔÚ¸Ã×Ó³ÌÐòÖУ¬subarray1ÊÇarray1µÄ±ðÃû£¬subarray2ÊÇarray2µÄ±ðÃû¡£ °Ë¡¢Ô¤¶¨ÒåµÄ×Ó³ÌÐò PERL5Ô¤¶¨ÒåÁËÈý¸ö×Ó³ÌÐò£¬·Ö±ðÔÚÌØ¶¨µÄʱ¼äÖ´ÐУ¬ËüÃÇÊÇ£ºBEGIN×Ó³ÌÐòÔÚ³ÌÐòÆô¶¯Ê±±»µ÷Óã»END×Ó³ÌÐòÔÚ³ÌÐò½áÊøÊ±±»µ÷Óã»AUTOLOAD×Ó³ÌÐòÔÚÕÒ²»µ½Ä³¸ö×Ó³ÌÐòʱ±»µ÷Óá£Äã¿ÉÒÔ×Ô¼º¶¨ÒåËüÃÇ£¬ÒÔÔÚÌØ¶¨Ê±¼äÖ´ÐÐËùÐèÒªµÄ¶¯×÷¡£È磺 BEGIN { £ print("Hi! Welcome to Perl!\n" ; } AUTOLOAD{ £ print("subroutine $AUTOLOAD not found\n" ; # ±äÁ¿$AUTOLOAD¼´Î´ÕÒµ½µÄ×Ó³ÌÐòÃû £ print("arguments passed: @_\n" ; } Èôͬһ¸öÔ¤¶¨Òå×Ó³ÌÐò¶¨ÒåÁ˶à¸ö£¬ÔòBEGIN˳ÐòÖ´ÐУ¬ENDÄæÐòÖ´ÐС£ |

4Â¥2005-06-14 19:17:17













;
»Ø¸´´ËÂ¥