©®linuxÉçÇø©® °®ÐÄÔ®Öú ©® LinuxÈÏÖ¤©®ÏµÁÐ½Ì³Ì ©® Òµ½ç¶¯Ì¬©® Õ¾ÎñÐÂÎÅ ©® ¹«Ë¾ÕÐÆ¸©®ÍøÂçѧԺ©®ÍøÖ·´óÈ« ©®LPIרÌâ©® CISCOרÌâ
ÉèΪÊ×Ò³
¼ÓÈëÊÕ²Ø
¹ÜÀíÍŶÓ
JSP  
JAVA  
PERL  
 ÄúµÄλÖãºÊ×Ò³ > ¿ª·¢ÓïÑÔ > perl >
À¸Ä¿µ¼À¸
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
×ÊÁÏËÑË÷
ÈÈÃÅÎÄÕÂ
¡¤perlÈëÃÅѧϰָÄÏ
¡¤perlÈëÃŽ̳Ì:Perl µÄ±äÁ¿
¡¤perlÈëÃŽ̳Ì:PerlµÄÓï·¨ÓëCÓï
¡¤PerlÎļþ¼°Ä¿Â¼²Ù×÷
¡¤perlÈëÃŽ̳Ì:Perl¸ÅÊö
¡¤perlÈëÃŽ̳Ì:ÕýÔò±í´ïʽ
¡¤perl ѧϰ±Ê¼Ç
¡¤Perl³£ÓÃϵͳº¯Êý
¡¤perlÖд«µÝºÍ´æ´¢Îļþ¾ä±ú
¡¤PerlÁ¬½ÓOracleÊý¾Ý¿âµÄ·½·¨
¡¤curl+perlµÄ×Ô¶¯MAIL±¨¾¯³ÌÐò
¡¤Ê¹Óà perldoc ÕÒÎĵµ
¡¤perlÈëÃŽ̳Ì:Perl ³ÌÐòµÄÊôÐÔ
¡¤PerlÐÂÊÖµÄÎóÇøºÍÐÂÊֱضÁ
¡¤PerlÃüÁîÐÐÓ¦ÓýéÉÜ
×îÐÂÎÄÕÂ
¡¤perl ѧϰ±Ê¼Ç
¡¤Perl ÌØÊâ±äÁ¿
¡¤perl Base64ÂëµÄ»ñÈ¡
¡¤perl ¸¸×Ó½ø³ÌµÄÊý¾Ý¿âÁ¬½Ó¼Ì³Ð
¡¤¹¤×÷ÖеÄʵÓà perl ½Å±¾
¡¤perlÖд«µÝºÍ´æ´¢Îļþ¾ä±ú
¡¤curl+perlµÄ×Ô¶¯MAIL±¨¾¯³ÌÐò
¡¤PerlÀà°üµÄ¶¯Ì¬µ÷ÓÃ
¡¤Ê¹ÓÃopen´´½¨µÄ¹ÜµÀ½øÐи¸×Ó½ø
¡¤perl Ö´ÐÐÒ»¸öϵͳÃüÁî(svn in
¡¤windowsƽ̨ϸù¾Ý¿ÉÖ´ÐÐÎļþÃû
¡¤¹ØÁªÊý×飨hash£©
¡¤PerlÓïÑÔÔÚ·çÏÕÆÀ¹ÀµÄϵͳ»ù´¡
¡¤ÔÚPerl/CGIÖÐʹÓÃÄ£°å
¡¤PERL CGI ³£¼ûÎÊÌâ
Google
 
Perl ÌØÊâ±äÁ¿
[ ×÷Õß:  ¼ÓÈëʱ¼ä:2007-11-27 11:32:22  À´×Ô:LinuxÁªÃËÊÕ¼¯ÕûÀí ]
NAMENjqLinuxÁªÃË
perlvar - Perl Ô¤¶¨Òå±äÁ¿NjqLinuxÁªÃË
DESCRIPTIONNjqLinuxÁªÃË
Ô¤¶¨ÒåÃû³ÆNjqLinuxÁªÃË
ºóÃæÁгöµÄÃû³Æ¶Ô Perl À´Ëµ¾ßÓÐÌØÊ⺬Òå¡£NjqLinuxÁªÃË
´ó¶àÊý±êµãÃû³Æ¶¼ÓкÏÀíµÄÖú¼Ç·½·¨»òÀàËÆÓÚÔÚ shell ÖеÄÓ÷¨¡£NjqLinuxÁªÃË
È»¶ø£¬Èç¹ûÄã¾ÍÊÇÏëÓó¤±äÁ¿Ãû£¬ÄÇÖ»ÒªÔÚ³ÌÐò¿ªÍ·¼ÓÉÏNjqLinuxÁªÃË
use English;NjqLinuxÁªÃË
¼´¿É¡£ÕâÑù»áΪËùÓжÌÃû³ÆÔÚµ±Ç°°üÖд´½¨³¤Ãû³Æ±ðÃû¡£NjqLinuxÁªÃË
ÆäÖÐһЩÉõÖÁ»¹ÓÐÖмäÃû£¬Ò»°ãÊÇ´Ó awk ½èÓùýÀ´µÄ¡£ Ò»°ãÀ´Ëµ£¬Èç¹û²»ÐèÒªNjqLinuxÁªÃË
$PREMATCH£¬$MATCH ºÍ $POSTMATCH£¬ÄÇ×îºÃʹÓÃNjqLinuxÁªÃË
use English '-no_match_vars';NjqLinuxÁªÃË
µ÷Ó÷½Ê½£¬ÒòΪËüÄܱÜÃâÔÚÓÃÕýÔò±í´ïʽʱ³öÏÖЧÂʽµµÍµÄÇé¿ö¡£¼û English¡£NjqLinuxÁªÃË
ÒÀÀµµ±Ç°±»Ñ¡ÖÐÎļþ¾ä±úµÄ±äÁ¿¿ÉÒÔͨ¹ýÔÚ IO::HandleNjqLinuxÁªÃË
¶ÔÏóÉϵ÷ÓúÏÊʵĶÔÏó·½·¨À´ÉèÖã¬NjqLinuxÁªÃË
µ«ÊÇÕâÒª±ÈʹÓÃÆÕͨµÄÄÚ½¨±äÁ¿Ð§ÂʵÍһЩ¡£(ÏÂÃæµÄ¸ÅÀ¨ÐÐÀï°üº¬µÄµ¥´Ê HANDLENjqLinuxÁªÃË
¼´Ö¸ IO::Handle ¶ÔÏó¡£) Ê×ÏÈÄãÒªÉùÃ÷NjqLinuxÁªÃË
use IO::Handle;NjqLinuxÁªÃË
È»ºó¾Í¿ÉÒÔÓÃNjqLinuxÁªÃË
method HANDLE EXPRNjqLinuxÁªÃË
»òÕ߸ü°²È«µÄÐÎʽ£¬NjqLinuxÁªÃË
HANDLE->method(EXPR)NjqLinuxÁªÃË
ÿ¸ö·½·¨¶¼·µ»Ø IO::Handle ÊôÐԵľÉÖµ£¬Í¬Ê±½ÓÊÜÒ»¸ö¿ÉÑ¡µÄ EXPR¡£NjqLinuxÁªÃË
Èç¹ûÌṩÁ˸òÎÊý£¬ÔòÆäÖ¸¶¨ÁËËùÉæ¼° IO::HandleNjqLinuxÁªÃË
ÊôÐÔµÄÐÂÖµ¡£Èç¹û²»Ìṩ¸Ã²ÎÊý£¬ ´ó¶àÊý·½·¨²»¸Ä±äµ±Ç°Öµ--³ýÁËNjqLinuxÁªÃË
autoflush()£¬Ëü»á¼Ù¶¨¸ø¶¨Á˲ÎÊý 1£¬ÉÔÓв»Í¬¡£NjqLinuxÁªÃË
ÔØÈë IO::HandleNjqLinuxÁªÃË
ÀàÊÇÒ»Ïî´ú¼Û¸ß°ºµÄ²Ù×÷£¬Òò´ËÄã¸ÃÖªµÀÈçºÎʹÓ󣹿µÄÄÚ½¨±äÁ¿¡£NjqLinuxÁªÃË
ÕâЩ±äÁ¿ÖеÄÉÙÊý¼¸¸öÊÇ¡°Ö»¶ÁµÄ¡±¡£ÕâÒâζ×ÅÈç¹ûÖ±½Ó»òÕßͨ¹ýÒýÓüä½ÓÏò¸Ã±äNjqLinuxÁªÃË
Á¿¸³Öµ£¬ ¾Í»áÒýÆðÒ»¸öÔËÐÐʱÒì³£¡£NjqLinuxÁªÃË
ÔÚÐ޸ı¾ÎĵµÖÐÃèÊöµÄ´ó²¿·ÖÌØÊâ±äÁ¿µÄȱʡֵʱ¶¼ÐèÒªÌØ±ðСÐÄ¡£¶àÊýÇé¿öÏÂÓ¦NjqLinuxÁªÃË
¸ÃÔÚÐÞ¸Ä֮ǰ¾Ö²¿»¯ÕâЩ±äÁ¿£¬Èç¹û²»Õâô×ö£¬¾Í¿ÉÄÜÓ°ÏìÒÀÀµÓÚÄãËùÐÞ¸ÄÌØÊâ±äÁ¿NjqLinuxÁªÃË
ȱ Ê¡ÖµµÄÆäËûÄ£¿é¡£ÏÂÃæÊÇÒ»´ÎÐÔ¶ÁÈëÕû¸öÎļþµÄÒ»ÖÖÕýÈ··½·¨£ºNjqLinuxÁªÃË
open my $fh, "foo" or die $!;NjqLinuxÁªÃË
local $/; # enable localized slurp modeNjqLinuxÁªÃË
my $content = <$fh>;NjqLinuxÁªÃË
close $fh;NjqLinuxÁªÃË
µ«ÏÂÃæµÄ´úÂë¾ÍºÜÔã¸â£ºNjqLinuxÁªÃË
open my $fh, "foo" or die $!;NjqLinuxÁªÃË
undef $/; # enable slurp modeNjqLinuxÁªÃË
my $content = <$fh>;NjqLinuxÁªÃË
close $fh;NjqLinuxÁªÃË
NjqLinuxÁªÃË
ÒòΪһЩģ¿é¿ÉÄÜÏëÒÔĬÈϵġ°ÐÐģʽ¡±´ÓÎļþÖжÁÈ¡Êý¾Ý£¬¶øÒ»µ©ÎÒÃǸղÅNjqLinuxÁªÃË
ÁгöµÄ´úÂëµÃµ½Ö´ÐУ¬ÔÚͬһ¸ö Perl ½âÊÍÆ÷ÄÚÔËÐеÄËùÓÐÆäËû´úÂë¶Áµ½µÄ $/NjqLinuxÁªÃË
È«¾ÖÖµ¶¼»á±»¸Ä±ä¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
ͨ³££¬ÔÚ¾Ö²¿»¯Ò»¸ö±äÁ¿Ê±×ÜÊÇÏëÈÃÓ°ÏìÏÞÖÆÔÚ¾¡¿ÉÄÜСµÄ·¶Î§ÄÚ£¬Òò´ËNjqLinuxÁªÃË
Ó¦¸Ã×Ô¼º½¨Á¢Ò»¸ö "{}" ¿é£¬³ý·ÇÄãÒѾ­´¦ÓÚijЩСµÄ "{}" ¿éÄÚ¡£ÀýÈ磺NjqLinuxÁªÃË
my $content = '';NjqLinuxÁªÃË
open my $fh, "foo" or die $!;NjqLinuxÁªÃË
{NjqLinuxÁªÃË
local $/;NjqLinuxÁªÃË
$content = <$fh>;NjqLinuxÁªÃË
}NjqLinuxÁªÃË
close $fh;NjqLinuxÁªÃË
NjqLinuxÁªÃË
ÏÂÃæÊÇ´úÂëʧ¿ØµÄÒ»¸öÀý×Ó£ºNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
        for (1..5){NjqLinuxÁªÃË
NjqLinuxÁªÃË
            nasty_break();NjqLinuxÁªÃË
NjqLinuxÁªÃË
            print "$_ ";NjqLinuxÁªÃË
NjqLinuxÁªÃË
        }NjqLinuxÁªÃË
NjqLinuxÁªÃË
        sub nasty_break {NjqLinuxÁªÃË
NjqLinuxÁªÃË
            $_ = 5;NjqLinuxÁªÃË
NjqLinuxÁªÃË
            # do something with $_NjqLinuxÁªÃË
NjqLinuxÁªÃË
        }NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    Äã¿ÉÄÜÏ£ÍûÉÏÊö´úÂë´òÓ¡³ö£ºNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
        1 2 3 4 5NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    µ«Êµ¼ÊÉϵõ½µÄÈ´ÊÇ£ºNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
        5 5 5 5 5NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    ÎªÊ²Ã´£¿ÒòΪ nasty_break() ÐÞ¸ÄÁË $_ ¶øÃ»ÓÐÊÂÏȽ«Æä¾Ö²¿»¯¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
    ¸ÄÕý·½·¨ÊÇÔö¼Ó local()£ºNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            local $_ = 5;NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    ËäÈ»ÔÚÕâÑùÒ»¸ö¶ÌСµÄÀý×ÓÀïºÜÈÝÒ×·¢ÏÖÎÊÌ⣬µ«ÔÚ¸ü¸´ÔӵĴúÂëÖУ¬Èç¹û²»NjqLinuxÁªÃË
NjqLinuxÁªÃË
    ¶ÔÌØÊâ±äÁ¿½øÐоֲ¿»¯¸ü¸Ä¾ÍÊÇÔÚ×ÔÕÒÂé·³¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    ÏÂÁÐÄÚÈݰ´ÕÕÏȱêÁ¿±äÁ¿¡¢ºóÊý×é¡¢×îºóÉ¢ÁеÄ˳ÐòÅÅÁС£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $ARGNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $_      Ä¬ÈϵÄÊäÈëºÍģʽËÑË÷¿Õ¼ä¡£ÏÂÃæµÄ¼¸¶Ô´úÂë¶¼ÊǵÈͬµÄ£ºNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                while (<>) {...}    # equivalent only in while!NjqLinuxÁªÃË
NjqLinuxÁªÃË
                while (defined($_ = <>)) {...}NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                /^Subject:/NjqLinuxÁªÃË
NjqLinuxÁªÃË
                $_ =~ /^Subject:/NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                tr/a-z/A-Z/NjqLinuxÁªÃË
NjqLinuxÁªÃË
                $_ =~ tr/a-z/A-Z/NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                chompNjqLinuxÁªÃË
NjqLinuxÁªÃË
                chomp($_)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÒÔÏÂÊǼ¸´¦¼´Ê¹Ã»ÓÐдÃ÷ Perl Ò²»á¼Ù¶¨Ê¹Óà$_ µÄµØ·½£ºNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            *  ¸÷ÖÖµ¥Ä¿º¯Êý£¬°üÀ¨Ïñ ord() ºÍ int() ÕâÑùµÄº¯ÊýÒÔ¼°³ý "-t"NjqLinuxÁªÃË
NjqLinuxÁªÃË
               ÒÔÍâËùÓеÄÎļþ ²âÊÔ²Ù×÷ ("-f"£¬"-d")£¬"-t" Ä¬ÈϲÙ×÷ STDIN¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            *  ¸÷ÖÖÁÐ±íº¯Êý£¬ÀýÈç print() ºÍ unlink()¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            *  Ã»ÓÐʹÓà"=~" ÔËËã·ûʱµÄģʽƥÅä²Ù×÷ "m//"¡¢"s///" ºÍNjqLinuxÁªÃË
NjqLinuxÁªÃË
               "tr///"¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            *  ÔÚûÓиø³öÆäËû±äÁ¿Ê±ÊÇ "foreach" Ñ­»·µÄĬÈϵü´ú±äÁ¿¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            *  grep() ºÍ map() º¯ÊýµÄÒþº¬µü´ú±äÁ¿¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            *  µ± "while" ½öÓÐΨһÌõ¼þ£¬ÇÒ¸ÃÌõ¼þÊǶԠ"<FH>"NjqLinuxÁªÃË
NjqLinuxÁªÃË
               ²Ù×÷µÄ½á¹û½øÐвâÊÔʱ£¬$_ ¾ÍÊÇ´æ·ÅÊäÈë¼Ç¼µÄĬÈÏλÖᣳýÁËNjqLinuxÁªÃË
NjqLinuxÁªÃË
               "while" ²âÊÔÌõ¼þÖ®Íâ²»»á·¢ÉúÕâÖÖÇé¿ö¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Öú¼Ç£ºÏ»®ÏßÔÚÌØ¶¨²Ù×÷ÖÐÊÇ¿ÉÒÔÊ¡ÂԵġ£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $aNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $b      ÊÇʹÓàsort() Ê±µÄÌØÊâ°ü±äÁ¿£¬²Î¼û "sort" in perlfunc¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÓÉÓÚÕâÒ»ÌØÊâÐÔ£¬$a ºÍ $b ¼´Ê¹ÔÚÓÃÁË "strict 'vars'"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ö¸Ê¾·ûÒÔºóÒ²²»ÐèÒªÉùÃ÷(Óàuse vars »òÕß our())¡£ Èç¹ûÏëÒªÔÚNjqLinuxÁªÃË
NjqLinuxÁªÃË
            sort() µÄ±È½Ï¿é»òÕߺ¯ÊýÖÐʹÓÃËüÃÇ£¬¾Í²»ÒªÓà"my $a" »ò "my $b"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½«Æä´Ê·¨»¯¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $<*digits*>NjqLinuxÁªÃË
NjqLinuxÁªÃË
            º¬ÓÐÉÏ´ÎģʽƥÅäÖв¶»ñÀ¨ºÅ¼¯ºÏËù¶ÔÓ¦µÄ×Óģʽ£¬²»°üÀ¨ÒѾ­Í˳öµÄǶNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ì× ¿éÖÐÆ¥ÅäµÄģʽ¡£(Öú¼Ç£ºÀàËÆ \digits¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÕâЩ±äÁ¿È«¶¼ÊÇÖ»¶ÁµÄ£¬¶ÔÓÚ µ±Ç°¿éÀ´Ëµ¾ßÓж¯Ì¬×÷ÓÃÓò¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $MATCHNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $&      º¬ÓÐÉϴγɹ¦µÄģʽƥÅäËùÆ¥Åäµ½µÄ×Ö·û´®(²»°üÀ¨ÈκÎÒþ²ØÔÚ¿éÖÐµÄÆ¥?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ä»òµ±Ç?¿éËù°üΧµÄ eval())¡£(Öú¼Ç£ºÍ¬Ò»Ð©±à¼­Æ÷ÖеĠ& ÀàËÆ¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸Ã±äÁ¿ÊÇÖ»¶ÁµÄ£¬ ¶ÔÓÚµ±Ç°¿éÀ´Ëµ¾ßÓж¯Ì¬×÷ÓÃÓò¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ³ÌÐòÖÐÈκεط½Ê¹ÓøñäÁ¿¶¼»áʹËùÓÐÕýÔò±í´ïʽƥÅä²úÉú¿É¹ÛµÄЧÂÊNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½µµÍ¡£ ²Î¼û "BUGS"¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $PREMATCHNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $`      º¬ÓÐÉϴγɹ¦µÄģʽƥÅäÄÚÈÝ֮ǰµÄ×Ö·û´®(²»°üÀ¨ÈκÎÒþ²ØÔÚ¿éÖÐµÄÆ¥?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ä»òµ±Ç?¿éËù°üΧµÄ eval)¡£(Öú¼Ç£º"`"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ³£³£³öÏÖÔÚÒýÆðµÄ×Ö·û´®Ö®Ç°¡£) ¸Ã±äÁ¿ÊÇÖ»¶ÁµÄ¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ³ÌÐòÖÐÈκεط½Ê¹ÓøñäÁ¿¶¼»áʹËùÓÐÕýÔò±í´ïʽƥÅä²úÉú¿É¹ÛµÄЧÂÊNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½µµÍ¡£ ²Î¼û "BUGS"¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $POSTMATCHNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $'      º¬ÓÐÉϴγɹ¦µÄģʽƥÅäÄÚÈÝÖ®ºóµÄ×Ö·û´®(²»°üÀ¨ÈκÎÒþ²ØÔÚ¿éÖÐµÄÆ¥?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ä»òµ±Ç?¿éËù°üΧµÄ eval())¡£(Öú¼Ç£º"'"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ³£³£¸úÔÚÒýÆðµÄ×Ö·û´®Ö®ºó¡£) ÀýÈ磺NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                local $_ = 'abcdefghi';NjqLinuxÁªÃË
NjqLinuxÁªÃË
                /def/;NjqLinuxÁªÃË
NjqLinuxÁªÃË
                print "$`:$&:$'\n";         # prints abc:def:ghiNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸Ã±äÁ¿Ö»¶ÁÇÒ¶ÔÓÚµ±Ç°¿é¾ßÓж¯Ì¬×÷ÓÃÓò¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ³ÌÐòÖÐÈκεط½Ê¹ÓøñäÁ¿¶¼»áʹËùÓÐÕýÔò±í´ïʽƥÅä²úÉú¿É¹ÛµÄЧÂÊNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½µµÍ¡£ ²Î¼û "BUGS"¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $LAST_PAREN_MATCHNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $+      º¬ÓÐÉϴγɹ¦µÄËÑË÷ģʽÖÐ×îºóÒ»¸öÀ¨ºÅÆ¥ÅäµÄÎı¾¡£ÔÚÎÞ·¨ÖªµÀ¿ÉѡģNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ê½¼¯ÖРµ½µ×ÄÄÒ»¸öÆ¥Åä³É¹¦Ê±£¬¸Ã±äÁ¿ÊǷdz£ÓÐÓõġ£ÀýÈ磺NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                /Version: (.*)|Revision: (.*)/ && ($rev = $+);NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Öú¼Ç£º»ý¼«Ò»µã¶ùÏòǰ¿´¡£)(Òë×¢£º¡°»ý¼«¡±Óë¡°ÕýºÅ¡±ÊÇͬһ¸öµ¥´Ê?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ? ¸Ã±äÁ¿Ö»¶ÁÇÒÏà¶ÔÓÚµ±Ç°¿é¾ßÓж¯Ì¬×÷ÓÃÓò¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $^N     º¬ÓÐÉÏÒ»´Î³É¹¦ËÑË÷ģʽÖÐ×î½ü±ÕºÏµÄ×é(¼´×îÓұߵÄÓÒÀ¨ºÅ¹¹³ÉµÄ×é)ËùNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Æ¥Åä µÄÎı¾¡£(Öú¼Ç£º×î½ü±ÕºÏµÄ(¿ÉÄÜ)ǶÌ×µÄÀ¨ºÅ¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Òë×¢£ºÇ¶Ì׵ĵ¥´ÊΪ Nest¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸Ã±äÁ¿Ö÷ÒªÓÃÔÚ "(?{...})"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¿éµÄÄÚ²¿£¬ÒÔ±ã¼ì²é×î½üÆ¥Åäµ½µÄÎı¾¡£ÀýÈ磬NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÎªÁËÓÐЧµØÓÃÒ»¸ö±äÁ¿($1¡¢$2 µÈµÈÖ®ÍâµÄ±äÁ¿)²¶»ñÎı¾£¬¿ÉÒÔ½«NjqLinuxÁªÃË
NjqLinuxÁªÃË
            "(...)" Ì滻ΪNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                 (?:(...)(?{ $var = $^N }))NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÏñÕâÑùÉèÖò¢Ê¹Óà$var ¾ÍÄܰÑÄã´Ó¼ÆËãÀ¨ºÅ¸öÊýµÄ·³ÄÕÖнâ·Å³öÀ´ÁË¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸Ã±äÁ¿¶ÔÓÚµ±Ç°¿é¾ßÓж¯Ì¬×÷ÓÃÓò¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    @LAST_MATCH_ENDNjqLinuxÁªÃË
NjqLinuxÁªÃË
    @+      ¸ÃÊý×é±£´æÁ˵±Ç°»î¶¯µÄ¶¯Ì¬×÷ÓÃÓòÖÐ×î½ü³É¹¦µÄ×ÓÆ¥Åä½áÊø´¦µÄÆ«ÒÆÁ¿NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¡£ $+[0]NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÎªÕû¸öÆ¥ÅäÔÚ×Ö·û´®ÖнáÊø´¦µÄÆ«ÒÆÁ¿£¬ÕâͬÓñ»Æ¥ÅäµÄ±äÁ¿µ÷Óà"pos"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            º¯ÊýµÃµ½µÄÖµÒ»Ñù¡£¸ÃÊý×éµÄµÚ *n* ¸öÔªËØ±£´æÁ˵ڠ*n* ¸ö×ÓÆ¥ÅäNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄÆ«ÒÆÁ¿£¬Òò´Ë $+[1] ¾ÍÊǽô½Ó×Å $1 ½áÊø´¦µÄÆ«ÒÆÁ¿£¬$+[2] ÊÇNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½ô½Ó×Å $2 ½áÊø´¦µÄÆ«ÒÆÁ¿£¬ÒÔ´ËÀàÍÆ¡£¿ÉÒÔÓà$#+NjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÃÖª×î½ü³É¹¦µÄÆ¥Åä ÖÐÓжàÉÙ¸ö×é¡£²Î¼ûΪ "@-" ±äÁ¿¸ø³öµÄÀý×Ó¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $*      ½«ÆäÉèΪ·ÇÁãÕûÊýÖµ¾Í¿ÉÒÔ½øÐÐ×Ö·û´®ÄڵĶàÐÐÆ¥Å䣬ÉèΪNjqLinuxÁªÃË
NjqLinuxÁªÃË
            0(»ò䶨ÒåÖµ) Ï൱ÓÚ¸æËß PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¿ÉÒÔ¼Ù¶¨×Ö·û´®¶¼Êǵ¥Ðе쬴ӶøÄܽøÐÐģʽƥÅäµÄÓÅ»¯¡£µ± $* Îª 0NjqLinuxÁªÃË
NjqLinuxÁªÃË
            »ò䶨Òåֵʱ£¬¶Ôº¬Óжà¸ö»»ÐзûµÄ×Ö·û´®½øÐÐģʽƥÅä»á²úÉúºÜÄÑNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Àí½âµÄ½á¹û¡£ËüĬÈÏΪ䶨ÒåÖµ¡£(Öú¼Ç£º* Æ¥ÅäºÜ¶à¶«Î÷¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸Ã±äÁ¿Ö»Ó°Ïì¶Ô "^" ºÍ "$" µÄ½âÊÍ¡£¼´Ê¹ÔÚ "$* == 0"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ê±Ò²¿ÉÒÔËÑË÷Ò»¸ö×ÖÃæµÄ»»Ðзû¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚÏÖÔڵĠPerl ÀﲻӦʹÓà$*£¬ÔÚģʽƥÅäÖпÉÒÔÓà"/s" ºÍ "/m"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÐÞÊηûÈ¡´ú ËüµÄ¹¦ÄÜ¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¶Ô $* ¸³·ÇÊýÖµÁ¿»á´¥·¢Ò»¸ö¾¯¸æ(²¢Ê¹ $* ±íÏÖΪ "$* == 0")£¬¶Ô $*NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸³ÊýÖµÁ¿Ôò»áÒþº¬¶ÔÆäÓ¦Óà"int"¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    HANDLE->input_line_number(EXPR)NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $INPUT_LINE_NUMBERNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $NRNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $.      Îª×îºó·ÃÎʵÄÎļþ¾ä±ú¶ÔÓ¦µÄµ±Ç°Ðкš£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Perl ÖÐÿ¸öÎļþ¾ä±ú¶¼¼Ç¼´ÓÆäÖжÁ³öµÄÐÐÊý¡£(PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÖÐÐеĸÅÄîÒ²ÐíºÍÄã²»Ò» Ñù£¬Òª¿´ $/ µÄÖµÊÇʲô¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            µ±´Óij¸öÎļþ¾ä±úÖжÁ³öÒ»ÐÐ(ͨ¹ý readline() »ò "<>")»ò¶ÔÆäµ÷ÓÃNjqLinuxÁªÃË
NjqLinuxÁªÃË
            tell() »ò seek() Ê±£¬$. ¼´³ÉΪÄǸö¾ä±úµÄÐР¼ÆÊýÆ÷µÄ±ðÃû¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Äã¿ÉÒÔͨ¹ýÏò $. ¸³ÖµÀ´µ÷Õû¼ÆÊýÆ÷£¬µ«Õâ²¢²»»áʵ¼ÊÒÆ¶¯ÎļþÖ¸Õë¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
            *¾Ö²¿»¯ $. ²»»áʹ¶ÔÓ¦Îļþ¾ä±úµÄÐмÆÊýÆ÷¾Ö²¿»¯*£¬¶øÖ»»á¾Ö²¿»¯ $.NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ºÍÎļþ¾ä±úµÄ±ðÃû¹ØÏµ¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¹Ø±ÕÎļþ¾ä±úʱ»á¸´Î» $.£¬µ«ÔÚûÓРclose()NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¾ÍÖØÐ´ò¿ªÒ»¸öÒÑ´ò¿ªµÄÎļþ¾ä±ú Ê±²»»áÕâÑù¡£¸ü¶àϸ½Ú²Î¼û "I/ONjqLinuxÁªÃË
NjqLinuxÁªÃË
            Operators" in perlop¡£"<>" ´Ó²»ÏÔʽ¹Ø±ÕÎļþ£¬Òò´ËÐкŻáÔÚ ARGVNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÎļþÖ®¼ä³ÖÐøÔö³¤(²»¹ýÇë¿´¿´ "eof" in perlfunc ÖеÄÀý×Ó)¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ä㻹¿ÉÒÔÓà"HANDLE->input_line_number(EXPR)"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ·ÃÎÊÒ»¸ö¸ø¶¨Îļþ¾ä±úµÄNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÐмÆÊýÆ÷£¬ÕâÑù¾ÍÎÞÐèµ£ÐÄ×îºó·ÃÎʵÄÊÇÄĸö¾ä±úÁË¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Öú¼Ç£ººÜ¶à³ÌÐòÓá°.¡±±íʾµ±Ç°Ðкš£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    IO::Handle->input_record_separator(EXPR)NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $INPUT_RECORD_SEPARATORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $RSNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $/      ÎªÊäÈë¼Ç¼·Ö¸ô·û£¬Ä¬ÈÏΪ»»Ðзû¡£¸Ã±äÁ¿»áÓ°Ïì PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¶Ô¡°ÐС±ÕâÒ»¸ÅÄî µÄÀí½â¡£Æä¹¦ÄÜÀàËÆÓÚ awk ÖеĠRSNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ±äÁ¿£¬ÔÚ±»ÉèÖÃΪ¿Õ×Ö·û´®Ê±Í¬ÑùNjqLinuxÁªÃË
NjqLinuxÁªÃË
            »á½«¿Õ°×ÐÐ×÷ΪÖÕÖ¹±êÖ¾¡£(¿Õ°×Ðв»Äܺ¬ÓÐÈκοոñ»òÖÆ±í·û¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Äã¿ÉÒÔ½«ÆäNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÉèÖÃΪº¬Óжà¸ö×Ö·ûµÄ×Ö·û´®£¬ÒÔÆ¥Åä¶à×Ö·ûµÄÖÕÖ¹±êÖ¾£»Ò²¿ÉÒÔÉèΪNjqLinuxÁªÃË
NjqLinuxÁªÃË
            "undef" ÒÔ±ãÒ»Ö±¶Áµ½Îļþ½áÊø¡£µ±Îļþº¬ÓÐÁ¬ÐøµÄ¿Õ°×ÐÐʱ£¬°ÑËüÉèΪNjqLinuxÁªÃË
NjqLinuxÁªÃË
            "\n\n" ºÍÉèΪ "" ÓÐÉÙÐí²»Í¬£ºÉèΪ ""NjqLinuxÁªÃË
NjqLinuxÁªÃË
            »á°ÑÁ½¸ö»ò¸ü¶àÁ¬ÐøµÄ¿Õ°×ÐÐÊÓΪµ¥¸ö ¿Õ°×ÐУ»¶øÉèΪ "\n\n"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔòÖ»ÊÇäĿµØ¼Ù¶¨ÆäºóÊäÈëµÄ×Ö·ûÊôÓÚÏÂÒ»¶Î£¬¼´Ê¹NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÕâЩ×Ö·ûÊÇ»»ÐзûÒ²Ò»Ñù¡£(Öú¼Ç£ºÔÚÒýÓÃÊ«¾äʱ»áÓà/NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ×÷ΪÐмäµÄ·Ö¸ô¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                local $/;           # enable "slurp" modeNjqLinuxÁªÃË
NjqLinuxÁªÃË
                local $_ = <FH>;    # whole file now hereNjqLinuxÁªÃË
NjqLinuxÁªÃË
                s/\n[ \t]+/ /g;NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Çмǣº$/ µÄÄÚÈÝÊÇÒ»¸ö×Ö·û´®£¬¶ø²»ÊÇÕýÔò±í´ïʽ¡£awkNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÃÔÚijЩ·½Ãæ¸Ä½ø Ò»ÏÂÁË¡£:-)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½« $/NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÉèΪÕûÊý¡¢´æÓÐÕûÊýµÄ±êÁ¿»ò¿Éת»»³ÉÕûÊýµÄ±êÁ¿ÕâЩֵµÄÒýÓÃʱ£¬PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            »á³¢ÊÔ¶ÁÈë¼Ç¼¶ø²»ÊÇÐУ¬×î´ó¼Ç¼³¤¶È¾ÍÊÇÒýÓõÄÄǸöÕûÊý¡£Òò´ËÕâ¶ÎNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ´úÂ룺NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                local $/ = \32768; # or \"32768", or \$var_containing_32768NjqLinuxÁªÃË
NjqLinuxÁªÃË
                open my $fh, $myfile or die $!;NjqLinuxÁªÃË
NjqLinuxÁªÃË
                local $_ = <$fh>;NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            »á´Ó FILE ¶ÁȡһÌõ²»³¤ÓÚ 32768NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ×ֽڵļǼ¡£Èç¹ûÄã²»ÊÇÔÚ¶Áȡһ¸öÃæÏò¼Ç¼ µÄÎļþ(»òÕßËùÓõĠOSNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ã»ÓÐÃæÏò¼Ç¼µÄÎļþÀàÐÍ)£¬ÄǺܿÉÄÜÿ´Î¶ÁÈ¡¶¼µÃµ½Ò»NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Õû¿éµÄÊý¾Ý¡£ÈôijÌõ¼Ç¼±ÈÄãËùÉèÖõļǼ³¤¶È»¹´ó£¬¾Í»á°Ñ¸Ã¼Ç¼²ð³ÉNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Èô¸ÉƬ ·µ»Ø¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ VMS ÉÏ£¬¼Ç¼¶ÁÈ¡ÊÇÓà"sysread"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄµÈ¼ÛÎïÍê³ÉµÄ£¬Òò´Ë×îºÃ²»ÒªÔÚͬһ¸öNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÎļþÉÏ»ìºÏʹÓüǼºÍ·Ç¼Ç¼¶Á¡£(Õⲻ̫¿ÉÄܳÉΪÎÊÌ⣬ÒòΪÈκÎÄãÏë?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ô¼Ç¼ģÊ?¶ÁÈ¡µÄÎļþÒ²Ðí¶¼²»ÄÜÔÚÐÐģʽÏÂÓá£) ·Ç VMS ÏµÍ³ÓÃÆÕͨNjqLinuxÁªÃË
NjqLinuxÁªÃË
            I/O ½øÐжÁÈ¡£¬Òò´Ë ÔÚÒ»¸öÎļþÖлìºÏ¼Ç¼ºÍ·Ç¼Ç¼¶ÁÊǰ²È«µÄ¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ²Î¼û "Newlines" in perlport ÒÔ¼° $.¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    HANDLE->autoflush(EXPR)NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $OUTPUT_AUTOFLUSHNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $|      Èô½«¸Ã±äÁ¿ÉèΪ·ÇÁãÖµ£¬¾Í»áÁ¢¿ÌÇ¿ÖÆ½øÐÐˢУ¬²¢ÇÒµ±Ç°Ñ¡ÖеÄÊä³öͨNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÀÔÚÿ´Î ´òÓ¡»òд֮ºó¶¼»á½øÐÐˢС£Ä¬ÈÏֵΪ 0NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (²»¹ÜÑ¡ÖеÄͨµÀʵ¼ÊÉÏÊÇ·ñ±»ÏµÍ³Ëù»º³å£¬ $| Ö»ÊǸæËßÄã PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÊÇ·ñÔÚÿ´ÎдÍêÖ®ºóÏÔʽˢÐÂ)¡£µäÐÍÇé¿öÏ£¬Èô STDOUTNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄÊä³öÊÇÖÕ¶ËÔòÊÇÐлº³åµÄ£¬·ñÔò¾ÍÊǿ黺³å¡£ÉèÖøñäÁ¿ÔÚÏò¹ÜµÀ»òÌ×NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½Ó×ÖÊä³ö Ê±ºÜÓÐÓ㬱ÈÈçÄãÕýÔÚ rsh ÏÂÔËÐÐÒ»¸ö PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ³ÌÐò²¢ÇÒÏëÔÚÊä³öʱÂíÉϾÍÄÜ¿´µ½NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Êä³öÄÚÈÝ¡£¸Ã±äÁ¿²»Ó°ÏìÊäÈ뻺³å¡£¹ØÓÚÊäÈ뻺³åÇë²Î¼û "getc" inNjqLinuxÁªÃË
NjqLinuxÁªÃË
            perlfunc¡£ (Öú¼Ç£ºwhen you want your pipes to be piping hot.)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    IO::Handle->output_field_separator EXPRNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $OUTPUT_FIELD_SEPARATORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $OFSNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $,      Îª print µÄÊä³öÓò·Ö¸ô·û¡£Í¨³£ printNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ²»¾­ÈκÎÐÞÊξÍÊä³öËüµÄ²ÎÊý£¬Òª µÃµ½¸üÏñ awkNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄÐÐΪ£¬¿ÉÒÔ½«¸Ã±äÁ¿ÉèÖóɺ͠awk µÄ OFS ±äÁ¿Ò»ÑùNjqLinuxÁªÃË
NjqLinuxÁªÃË
            £¬ÒÔÖ¸¶¨ÓòÖ®¼ä´òӡʲô¡£(Öú¼Ç£ºµ± printNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Óï¾äÀïÓС°,¡±Ê±»á´òÓ¡µÄ¶«Î÷¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    IO::Handle->output_record_separator EXPRNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $OUTPUT_RECORD_SEPARATORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $ORSNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $\      Îª print µÄÊä³ö¼Ç¼·Ö¸ô·û¡£Í¨³£ printNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¼òµ¥µØÔ­ÑùÊä³öËüµÄ²ÎÊý£¬²»Ôö¼ÓNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÈκνáβµÄ»»Ðзû»òÆäËû±íÕ÷¼Ç¼½áÊøµÄ×Ö·û´®¡£ÒªµÃµ½¸üÏñ awkNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄÐÐΪ£¬ ¿ÉÒÔ½«¸Ã±äÁ¿ÉèΪͬ awk µÄ ORS ±äÁ¿Ò»Ñù£¬ÒÔÖ¸¶¨ÔÚ printNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄ½áβÊä³ö Ê²Ã´¡£(Öú¼Ç£ºÉèÖà$\ ¶ø²»ÊÇÔÚ printNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½áβ¼Ó¡°\n¡±¡£ÁíÍ⣬Ëü³¤µÃºÍ $/ ºÜÏñ£¬µ«È´ÊÇÄã´Ó PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÄÇÀïÄ᰻ء±µÄ¶«Î÷¡£) (Òë×¢£º¡°»Ø¡±Ô­ÎÄΪNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µ¥´Ê¡°back¡±£¬»¹Ö¸´ú·´Ð±¸Ü¡°backslash¡±£¬ÆðÒ»ÓïË«¹Ø×÷Óá£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $LIST_SEPARATORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $"      ¸Ã±äÁ¿Í¬ $,NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÀàËÆ£¬µ«Ó¦ÓÃÓÚÏòË«ÒýºÅÒýÆðµÄ×Ö·û´®(»òÀàËÆµÄÄÚ²å×Ö·û´®)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÖÐÄÚ²åÊý×éºÍÇÐÆ¬ÖµµÄ³¡ºÏ¡£Ä¬ÈÏΪһ¸ö¿Õ¸ñ¡£(Öú¼Ç£ºÎÒ¾õµÃÏÔ¶øÒ×¼û?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ?NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $SUBSCRIPT_SEPARATORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $SUBSEPNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $;      ÎªÄ£Äâ¶àάÊý×éʱµÄϱê·Ö¸ô·û¡£Èç¹ûÄãÕâÑùÒýÓÃÒ»¸öÉ¢ÁÐÔªËØNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                $foo{$a,$b,$c}NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Êµ¼ÊÉÏÒâ˼¾ÍÊÇNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                $foo{join($;, $a, $b, $c)}NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            µ«ÊDZðÕâôдNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                @foo{$a,$b,$c}      # a slice--note the @NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ËüµÄÒâ˼ÊÇNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                ($foo{$a},$foo{$b},$foo{$c})NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ä¬ÈÏΪ¡°\034¡±£¬Í¬ awk µÄ SUBSEPNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ò»Ñù¡£Èç¹ûÄãµÄÉ¢Áмü°üº¬¶þ½øÖÆÊý¾Ý£¬ ¿ÉÄÜ $;NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¾Íû·¨°üº¬Èκοɿ¿µÄÖµÁË¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Öú¼Ç£º¶ººÅ(Óï·¨ÉϵÄϱê·Ö¸ô·û)Êǰë¸ö·ÖºÅ¡£Êǰ¡£¬ÎÒÖªµÀÕâÍêȫû?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ð˵·þÁ?£¬µ« $, ÒѾ­±»ÓÃ×ö¸üÖØÒªµÄÓÃ;ÁË¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ç뿼ÂÇÏñ perllol Àï˵Ã÷µÄÄÇÑùʹÓá°ÕæÕýµÄ¡±¶àάÊý×é¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $#      Îª´òÓ¡ÊýֵʱµÄÊä³ö¸ñʽ¡£¸Ã±äÁ¿ÊÇ awk ÖРOFMTNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ±äÁ¿Ò»¸ö´Ö²ÚµÄÄ£·Â³¢ÊÔ¡£ ²»¹ýȷʵÓжÎʱ¼ä awk ºÍ PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚʲô¿ÉÒÔ¿´³ÉÊýÖµµÄ¸ÅÄîÉÏÓÐËù·ÖÆç¡£ËüµÄ ³õʼֵÊÇ¡°%.*n*g¡±£¬*n*NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÊÇÄãËùÓÃϵͳÉÏ float.h ÖРDBL_DIG ºêµÄÖµ¡£ Õâͬ awk µÄĬÈÏ OFMTNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÉèÖá°%.6g¡±²»Ò»Ñù£¬Òò´ËÄãÐèÒªÏÔʽÉ趨 $# ÒԱ㠵õ½ºÍ awkNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ò»ÑùµÄ½á¹û¡£(Öú¼Ç£º# ÊÇÊýÖµ±êÖ¾¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ²»½¨ÒéʹÓà$# ±äÁ¿¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    HANDLE->format_page_number(EXPR)NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $FORMAT_PAGE_NUMBERNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $%      Îªµ±Ç°Ñ¡ÖеÄÊä³öͨµÀµÄµ±Ç°Ò³Â롣ͬ¸ñʽÅäºÏʹÓᣠ(Öú¼Ç£º% ÊÇNjqLinuxÁªÃË
NjqLinuxÁªÃË
            nroff ÖеÄÒ³Âë¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    HANDLE->format_lines_per_page(EXPR)NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $FORMAT_LINES_PER_PAGENjqLinuxÁªÃË
NjqLinuxÁªÃË
    $=      Îªµ±Ç°Ñ¡ÖеÄÊä³öͨµÀµÄµ±Ç°Ò³³¤¶È(¿É´òÓ¡µÄÐÐÊý)¡£Ä¬ÈÏΪ 60¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Í¬¸ñʽÅäºÏʹÓᣠ(Öú¼Ç£º·ûºÅ = ÓÉÁ½¸öˮƽÐÐ×é³É¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    HANDLE->format_lines_left(EXPR)NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $FORMAT_LINES_LEFTNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $-      Îªµ±Ç°Ñ¡ÖеÄÊä³öͨµÀµÄÒ³Ãæ²ÐÁôÐÐÊý¡£Í¬¸ñʽÅäºÏʹÓá£NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Öú¼Ç£ºÒ³ÃæÐÐÊý - ÒÑ´òÓ¡ÐÐÊý¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    @LAST_MATCH_STARTNjqLinuxÁªÃË
NjqLinuxÁªÃË
    @-      $-[0] ÊÇ×î½üÒ»´Î³É¹¦Æ¥ÅäµÄÆðÊ¼Æ«ÒÆÁ¿¡£ "$-["*n*"]" ÊÇÓɵڠ*n*NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸ö×ÓģʽËùÆ¥ÅäµÄ×Ó×Ö·û´®µÄÆðÊ¼Æ«ÒÆÁ¿£¬NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Èô¶ÔÓ¦µÄ×ÓģʽûÓÐÆ¥ÅäÔòȡΪ undef¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Òò´Ë¶Ô $_ ½øÐÐÆ¥ÅäÖ®ºó£¬$& ºÍ "substr $_, $-[0], $+[0] - $-[0]"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÊÇÒ»ÑùµÄ¡£ÀàËÆµØ£¬Èô $-[n] ÒѶ¨Ò壬Ôò $*n* Í¬ "substr $_, $-[n],NjqLinuxÁªÃË
NjqLinuxÁªÃË
            $+[n] - $-[n]" ÊÇÒ»ÑùµÄ£¬$+ Ò²ºÍ "substr $_, $-[$#-], $+[$#-] -NjqLinuxÁªÃË
NjqLinuxÁªÃË
            $-[$#-]" Ïàͬ¡£¿ÉÒÔÓà$#- ÕÒ³ö×î½üÒ»´Î³É¹¦Æ¥ÅäNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÖÐ×îºóÒ»¸öÆ¥ÅäµÄ×Ó×é¡£ÓëÖ®Ïà¶ÔµÄ $#+ ÊÇÄÇ´ÎÆ¥ÅäËùÓÃÕýÔò±í´ïʽÖÐNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ×Ó×éµÄÊýÄ¿£¬¶ÔÓ¦µÄÊÇ "@+"¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸ÃÊý×é´æ·Åµ±Ç°»î¶¯µÄ¶¯Ì¬×÷ÓÃÓòÖÐ×î½ü³É¹¦µÄ×ÓÆ¥Å俪ʼ´¦µÄÆ«ÒÆÁ¿¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
            $-[0] ÊÇÕû¸öÆ¥ÅäÔÚ×Ö·û´®ÖпªÊ¼´¦µÄÆ«ÒÆÁ¿£¬Êý×éÖеڠ*n* ¸öÔªËØNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ´æÓеڠ*n* ¸ö×ÓÆ¥ÅäµÄÆ«ÒÆÁ¿£¬Òò´Ë $-[1] ÊÇ $1 ¿ªÊ¼´¦µÄÎ»ÒÆ£¬NjqLinuxÁªÃË
NjqLinuxÁªÃË
            $-[2] ÊÇ $2 ¿ªÊ¼´¦µÄÎ»ÒÆ£¬ÒÔ´ËÀàÍÆ¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ¶Ôij¸ö±äÁ¿ $var ½øÐÐÆ¥Åäºó£ºNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            $` ºÍ "substr($var, 0, $-[0])" ÏàͬNjqLinuxÁªÃË
NjqLinuxÁªÃË
            $& ºÍ "substr($var, $-[0], $+[0] - $-[0])" ÏàͬNjqLinuxÁªÃË
NjqLinuxÁªÃË
            $' ºÍ "substr($var, $+[0])" ÏàͬNjqLinuxÁªÃË
NjqLinuxÁªÃË
            $1 ºÍ "substr($var, $-[1], $+[1] - $-[1])" ÏàͬNjqLinuxÁªÃË
NjqLinuxÁªÃË
            $2 ºÍ "substr($var, $-[2], $+[2] - $-[2])" ÏàͬNjqLinuxÁªÃË
NjqLinuxÁªÃË
            $3 ºÍ "substr $var, $-[3], $+[3] - $-[3])" ÏàͬNjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    HANDLE->format_name(EXPR)NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $FORMAT_NAMENjqLinuxÁªÃË
NjqLinuxÁªÃË
    $~      Îªµ±Ç°±»Ñ¡ÖÐÊä³öͨµÀµÄµ±Ç°±¨±í¸ñʽÃû³Æ¡£Ä¬ÈÏΪÎļþ¾ä±úÃû¡£(Öú¼Ç?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ?^ µÄÐֵܡ£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    HANDLE->format_top_name(EXPR)NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $FORMAT_TOP_NAMENjqLinuxÁªÃË
NjqLinuxÁªÃË
    $^      Îªµ±Ç°±»Ñ¡ÖÐÊä³öͨµÀµÄµ±Ç°Ò³Ã¼¸ñʽÃû³Æ¡£Ä¬ÈÏΪÎļþ¾ä±úÃûºó¼ÓNjqLinuxÁªÃË
NjqLinuxÁªÃË
            _TOP¡£ (Öú¼Ç£ºÖ¸Ïòҳü¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    IO::Handle->format_line_break_characters EXPRNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $FORMAT_LINE_BREAK_CHARACTERSNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $:      ÊÇÒ»×é×Ö·û£¬×Ö·û´®¿ÉÒÔÔÚÕâЩ×Ö·ûºó¶ÏÐÐÒÔÌî³ä¸ñʽÖеÄÁ¬ÐøÓò(ÒÔ ^NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¿ªÊ¼)¡£ Ä¬ÈÏΪ " \n-"£¬Ê¹×Ö·û´®ÄÜÔÚ¿Õ°×»òÁ¬×Ö·û´¦¶Ï¿ª¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Öú¼Ç£ºÊ«Öеġ°Ã°ºÅ¡±ÊÇÒ»ÐеÄÒ»²¿·Ö¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    IO::Handle->format_formfeed EXPRNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $FORMAT_FORMFEEDNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $^L     ÍËֽʱ¸ñʽӦÊä³öµÄÄÚÈÝ¡£Ä¬ÈÏΪ \f¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $ACCUMULATORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $^A     write() ¶Ô format() ÐеÄÀÛ¼ÓÆ÷µÄµ±Ç°Öµ¡£¸ñʽ»áµ÷Óàformline()NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ²¢½«Æä½á¹û·ÅÈë $^A¡£ÔÚµ÷ÓöÔÓ¦µÄ¸ñʽ֮ºó£¬write() ½« $^ANjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄÄÚÈÝ´òÓ¡³öÀ´²¢Çå¿ÕÖ®¡£ Òò´ËÄãÓÀÔ¶²»¿ÉÄÜ¿´µ½ $^ANjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄÄÚÈÝ£¬³ý·Ç×Ô¼ºÖ±½Óµ÷Óàformline() ²¢²é¿´¸Ã±äÁ¿ ¡£²Î¼û perlformNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ºÍ "formline()" in perlfunc¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $CHILD_ERRORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $?      ÓÉ×î½üµÄ¹ÜµÀ¹Ø±Õ¡¢·´ÒýºÅ(``)ÃüÁî¡¢³É¹¦µ÷Óàwait() ºÍ waitpid()NjqLinuxÁªÃË
NjqLinuxÁªÃË
            »òÕß system() ²Ù×÷·û·µ»ØµÄ״̬ÐÅÏ¢¡£Ëü¾ÍÊÇÓÉ wait()NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÏµÍ³µ÷Ó÷µ»ØµÄ 16 Î»×´Ì¬×ÖNjqLinuxÁªÃË
NjqLinuxÁªÃË
            (»òÊÇÓÉÆäËûÐÅÏ¢×éºÏ¶ø³ÉµÄÀàËÆÖµ)¡£Òò´Ë£¬×Ó½ø³ÌµÄÍ˳öֵʵ¼ÊÉÏÊÇNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ("$? >> 8")£¬"$? & 127" ¸ø³öÁ˵¼Ö½ø³Ì½áÊøµÄÐźŴúÂë(Èç¹û´æÔÚ)£¬NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¶ø "$? & 128" »á±¨¸æÊÇ·ñ²úÉúÁËÄÚºËת´¢¡£(Öú¼Ç£ºÍ¬ sh ºÍ kshNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÀàËÆ¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÁíÍâÈç¹û C ÖÐÖ§³Ö "h_errno" ±äÁ¿£¬ÔÚÈÎÒâ "gethost*()"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            º¯Êýʧ°Üʱ£¬¸Ã±äÁ¿ µÄÖµ½«»áͨ¹ý $? ·µ»Ø¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Èç¹ûÒѾ­Îª "SIGCHLD" °²×°ÁËÒ»¸öÐźŴ¦ÀíÆ÷£¬ÄÇôÔÚ´¦ÀíÆ÷Ö®Íâ $?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄֵͨ³£ ÊÇÓÐÎÊÌâµÄ¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ "END" ×Ó³ÌÐòÀ$? º¬Óм´½«½»¸ø "exit()" µÄÖµ¡£¿ÉÒÔÔÚ "END"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ×Ó³ÌÐò ÖÐÐ޸Ġ$? ÒÔ´ïµ½¸Ä±ä³ÌÐòÍ˳ö״̬µÄЧ¹û¡£ÀýÈ磺NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                END {NjqLinuxÁªÃË
NjqLinuxÁªÃË
                    $? = 1 if $? == 255;  # die would make it 255NjqLinuxÁªÃË
NjqLinuxÁªÃË
                } NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ VMS ÏµÍ³Ï£¬Ö¸Ê¾·û "use vmsish 'status'" Ê¹µÃ $? ·´Ó³Êµ¼ÊµÄNjqLinuxÁªÃË
NjqLinuxÁªÃË
            VMS Í˳ö ×´Ì¬£¬¶ø²»ÊÇĬÈϵĶԠPOSIX ×´Ì¬µÄÄ£Ä⣻ϸ½Ú¼û "$?" inNjqLinuxÁªÃË
NjqLinuxÁªÃË
            perlvms¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Áí¼û ´íÎóָʾÆ÷¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    ${^ENCODING}NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Îª EncodeNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¶ÔÏóµÄ*¶ÔÏóÒýÓÃ*£¬ÓÃÀ´½«Ô´´úÂëת»»³ÉͳһÂë¡£¶à¿÷ÓÐÁ˸ñäÁ¿£¬NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÄãµÄ Perl ½Å±¾²Å²»»á±»Ç¿ÖÆÎª UTF-8 ±àÂ롣ĬÈÏΪNjqLinuxÁªÃË
NjqLinuxÁªÃË
            *undef*¡£¾ø¶Ô²»½¨Òé¶Ô ¸Ã±äÁ¿½øÐÐÖ±½Ó²Ù×÷¡£Ï¸½Ú¼û encoding¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $OS_ERRORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $ERRNONjqLinuxÁªÃË
NjqLinuxÁªÃË
    $!      Èç¹û°´ÊýֵʹÓøñäÁ¿£¬¾Í»áµÃµ½ "errno"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ±äÁ¿µÄµ±Ç°Öµ£»»»¾ä»°Ëµ£¬Èç¹ûNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ä³¸öϵͳ»òÕ߿⺯Êýµ÷ÓÃʧ°ÜÁË£¬¾Í»áÉèÖøñäÁ¿¡£ÕâÒâζ×Å $!NjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄÖµ½öµ± *½ô½Ó*ÔÚÒ»¸öʧ°ÜÖ®ºóʱ²ÅÓÐÒâÒ壺NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
                if (open(FH, $filename)) {NjqLinuxÁªÃË
NjqLinuxÁªÃË
                    # Here $! is meaningless.NjqLinuxÁªÃË
NjqLinuxÁªÃË
                    ...NjqLinuxÁªÃË
NjqLinuxÁªÃË
                } else {NjqLinuxÁªÃË
NjqLinuxÁªÃË
                    # ONLY here is $! meaningful.NjqLinuxÁªÃË
NjqLinuxÁªÃË
                    ...NjqLinuxÁªÃË
NjqLinuxÁªÃË
                    # Already here $! might be meaningless.NjqLinuxÁªÃË
NjqLinuxÁªÃË
                }NjqLinuxÁªÃË
NjqLinuxÁªÃË
                # Since here we might have either success or failure,NjqLinuxÁªÃË
NjqLinuxÁªÃË
                # here $! is meaningless.NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÉÏÊöµÄ*ÎÞÒâÒå*´ú±íÈκζ«Î÷£ºÁã¡¢·ÇÁã¡¢"undef"¡£³É¹¦µÄϵͳ»ò¿âº¯?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ?µ÷Óò»»á½«¸Ã±äÁ¿ÖØÖÃΪÁã¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            If used as a string, yields the corresponding system errorNjqLinuxÁªÃË
NjqLinuxÁªÃË
            string. You can assign a number to $! to set *errno* if, forNjqLinuxÁªÃË
NjqLinuxÁªÃË
            instance, you want "$!" to return the string for error *n*, orNjqLinuxÁªÃË
NjqLinuxÁªÃË
            you want to set the exit value for the die() operator.NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Mnemonic: What just went bang?)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Èô×÷Ϊ×Ö·û´®Ê¹Óã¬Ôò»á²úÉú¶ÔÓ¦µÄϵͳ´íÎó×Ö·û´®¡£¿ÉÒÔ¶Ô $!NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸³Ò»¸öÊý À´ÉèÖà*errno*£¬ÕâÑù¾ÍÄÜÓà"$!" µÃµ½´íÎó *n*NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¶ÔÓ¦µÄ×Ö·û´®ÁË£¬Ò²¿ÉÒÔ ÓÃÀ´ÉèÖàdie()NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔËËã·ûËùÓõÄÍ˳öÖµ¡£(Öú¼Ç£º¸Õ¸Õʲô¶«Î÷Õ¨ÁË£¿)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Áí¼û ´íÎóָʾÆ÷¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    %!      µ± $! ÉèÖÃΪij¸öֵʱ "%!" µÄ¶ÔÓ¦ÔªËØ¼´ÎªÕæÖµ¡£ÀýÈ磬$!{ENOENT}NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÎªÕæµ±ÇÒ½öµ± $! µÄµ±Ç°ÖµÎª "ENOENT"£»Ò²¾ÍÊÇ˵£¬Èô×îºóµÄ´íÎóÊÇNjqLinuxÁªÃË
NjqLinuxÁªÃË
            "No such file orNjqLinuxÁªÃË
NjqLinuxÁªÃË
            directory"(»òÆäËûµÈ¼ÛµÄ¶«Î÷£º²¢²»ÊÇËùÓвÙ×÷ϵͳ¶¼¸ø³öNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÍêȫһÖµĴíÎ󣬵±È»Ò²²»¿ÉÄܶ¼ÊÇͬһÖÖÓïÑÔ)¡£Òª¼ì²éij¸öÌØ¶¨µÄ¼ü?NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÚÄãµÄϵÍ?ÉÏÊÇ·ñÓÐÒâÒ壬¿ÉÒÔÓà"existsNjqLinuxÁªÃË
NjqLinuxÁªÃË
            $!{the_key}"£»ÒªÈ¡µÃºÏ·¨¼üµÄÁÐ±í£¬¿ÉÒÔÓà"keys %!"¡£¸ü¶àÐÅÏ¢¼ûNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Errno£¬ÁíÍâ´ÓÇ°ÃæµÄÃèÊöÒ²¿ÉÒԵóö $! µÄÓÐЧ ·¶Î§¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $EXTENDED_OS_ERRORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $^E     Í¬µ±Ç°²Ù×÷ϵͳÏà¹ØµÄ´íÎóÐÅÏ¢¡£Ä¿Ç°¸Ã±äÁ¿½öÔÚ VMS¡¢OS/2 ºÍ Win32NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (ÒÔ¼° MacPerl)ÏÂͬ $! ÓÐËù²»Í¬¡£ÔÚËùÓÐÆäËûƽ̨ÉÏ£¬$^E ×ÜÊǺ͠$!NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ò»Ñù¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ VMS ÏµÍ³Ï£¬$^E ÊÇ×î½üÒ»´Îϵͳ´íÎóµÄ VMS ×´Ì¬Öµ¡£Õâ±È $!NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÌṩµÄ¹ØÓÚϵͳ´íÎóµÄÐÅÏ¢¸üΪÏ꾡¡£µ± $! ±»ÉèÖóɠEVMSERR Ê±NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¸Ã±äÁ¿ÓÈÎªÖØÒª¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ OS/2 ÏµÍ³Ï£¬$^E ±»ÉèÖÃΪ×î½üÒ»´Îͨ¹ý CRT »òÖ±½Óͨ¹ý PerlNjqLinuxÁªÃË
NjqLinuxÁªÃË
            ½øÐеĠOS/2 API µ÷ÓÃËù·µ»ØµÄ´íÎó´úÂë¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ Win32 Ï£¬$^E ×ÜÊÇ·µ»ØÓÉ Win32 µ÷Óà"GetLastError()" Ëù±¨¸æNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µÄ´íÎóÐÅÏ¢£¬ËüÃèÊöµÄÊÇ·¢ÉúÔÚ Win32 API ÄÚ²¿µÄ×î½üÒ»´Î´íÎó¡£¶àÊýNjqLinuxÁªÃË
NjqLinuxÁªÃË
            Ìض¨ÓÚ Win32 µÄ³ÌÐò´úÂë»áͨ¹ý $^E ±¨¸æ´íÎ󣬶ø ANSI C ¼°Àà UnixNjqLinuxÁªÃË
NjqLinuxÁªÃË
            µ÷ÓÃÔò»áÉèÖà"errno"£¬Òò´Ë´ó²¿·Ö¿ÉÒÆÖ²µÄ Perl ´úÂ붼ͨ¹ý $!NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ±¨¸æ´íÎó¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÔÚ $! µÄÃèÊöÖÐÌáµ½µÄ¾¯¸æÒ»°ãÒ²ÊÊÓÃÓÚNjqLinuxÁªÃË
NjqLinuxÁªÃË
            $^E¡£(Öú¼Ç£º¶îÍâµÄ´íÎó½âÊÍ¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Òë×¢£ºÓ¢ÎÄÖС°¶îÍ⡱µÄµ¥´ÊΪ¡°Extra¡±¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Áí¼û ´íÎóָʾÆ÷¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
$EVAL_ERRORNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $@      ×î½üÒ»¸ö eval() ÔËËã·û·µ»ØµÄ Perl Óï·¨´íÎóÏûÏ¢¡£ Èô $@NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ÊÇ¿Õ×Ö·û´®£¬Ôò×î½üÒ»´Î eval() ½øÐÐÁËÕýÈ·µÄ½âÎöºÍÖ´ÐÐ(NjqLinuxÁªÃË
NjqLinuxÁªÃË
            µ«ÊÇÄãËù½øÐеIJÙ×÷¿ÉÄÜÒѾ­°´ÕÕͨ³£µÄÐÎʽʧ°ÜÁË)¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Öú¼Ç£ºÓï·¨´íÎó·¢Éú¡°ÔÚ¡±ÄÄÀ)NjqLinuxÁªÃË
NjqLinuxÁªÃË
            (Òë×¢£º·ûºÅ¡°@¡±ÎªÓ¢Îĵ¥´Ê¡°at¡±¼òд£¬ÒâΪ¡°ÔÚ¡­¡­¡±)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¾¯¸æÏûÏ¢²»»á±»ÊÕ¼¯ÔڸñäÁ¿ÖС£µ«Äã¿ÉÒÔÏñºóÃæÃèÊöµÄÄÇÑù£¬Í¨¹ýÉèÖÃNjqLinuxÁªÃË
NjqLinuxÁªÃË
            $SIG{__WARN__} ×Ô¼º½¨Á¢Ò»¸öÀý³ÌÀ´´¦Àí¾¯¸æ¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Áí¼û ´íÎóָʾÆ÷¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $PROCESS_IDNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $PIDNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $$      ÔËÐб¾½Å±¾µÄ Perl µÄ½ø³ÌºÅ¡£¸Ã±äÁ¿Ó¦ÊÓΪֻ¶ÁµÄ£¬²»¹ýÔÚ fork()NjqLinuxÁªÃË
NjqLinuxÁªÃË
            µ÷Óàʱ»á±»¸Ä±ä¡£(Öú¼Ç£ººÍ shell Ò»Ñù¡£)NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
            Linux Óû§×¢Ò⣺ÔÚ Linux Ï£¬ C º¯Êý "getpid()" ºÍ "getppid()"NjqLinuxÁªÃË
NjqLinuxÁªÃË
            ¶Ô ²»Í¬µÄÏ̷߳µ»Ø²»Í¬µÄÖµ¡£ÎªÁË¿ÉÒÆÖ²£¬¸ÃÐÐΪûÓз´Ó³ÔÚ $$NjqLinuxÁªÃË
NjqLinuxÁªÃË
            À¸Ã±äÁ¿ µÄÖµÔÚÏ̼߳䱣³Ö²»±ä¡£Èç¹ûÄãÏëµ÷ÓõײãµÄNjqLinuxÁªÃË
NjqLinuxÁªÃË
            "getpid()"£¬¿ÉÒÔʹÓàCPAN Ä£¿é "Linux::Pid"¡£NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
NjqLinuxÁªÃË
    $REAL_USER_IDNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $UIDNjqLinuxÁªÃË
NjqLinuxÁªÃË
    $<      ±¾½ø³ÌµÄʵ¼Ê uid¡£(Öú¼Ç£ºÈç¹ûÄãÓÃÁË setuid£¬ÄÇôÕ