Perlの特殊な組み込み変数の詳細

15870 ワード

#!/usr/bin/perl -w

@array = qw(a b c d);

foreach (@array) {

    print $_," ";

}

                        ,        foreach    ,foreach          :

foreach $element (@array){

    ......

}

    @array           $element,          ,       ,    ,      perl           $_

        foreach (@array)         foreach $_ (@array),   , $_      /  ,  ,                        ,       $_   



          

perl -e "sleep(5);  print qq (The PID of process perl.exe is : $$)";         

           perl  ,          :print qq(The PID of process perl.exe is : $$) ,   ,       $$ ;

$$   perl      ID( ,PID),               ,     perl     5     perl      ID,                              。

                (     )     。

    ,     ,         

perl -e "opendir FH,'c: one' or die qq (can't open:$!);";

        C     none  (      C        ,                         ),        ,      die qq(can't open:$!)

   ,$!           ,          :

can't open:No such file or directory at -e line 1.

$! open  opendir      (               )。



      ,             

$text = "C:\test.txt";

{

    open FH,$text or die "can't open:$!";

    my $line = ;

    close FH;

    print $line;

}

print "#===========================# ";

{

    undef $/;

    open FH,$text or die "can't open:$!";

    my $line = ;

    close FH;

    print $line;

}

=================================

C   test.txt    :

111111111111111111111111111

222222222222222222222222222

333333333333333333333333333

=================================

 ,        :

111111111111111111111111111

#===========================#

111111111111111111111111111

222222222222222222222222222

333333333333333333333333333



        ,       ,     “$line = ”,      ( ,<>)           (                 ),  ,       ,          ,    perl        ,      ,            $/         ,    。

    ,perl      <>         ,   $/       “   ”   ,              ,      $/  ,            ,  ,   ,<>             。

       ,      :undef $/ ,    $/        ,     ,$/       ,  ,      ,             , <>                        。



           $/       ,      :

$text = "C:\test.txt";

open FH,$text or die "can't open:$!";

while () {

    print "line $. is:$_";

}

close FH;

       :print "line $. is:$_"

         ,  ,        $_(     <>             ,  ,        $_);

      $_,      “$.”

        :

line 1 is:111111111111111111111111111

line 2 is:222222222222222222222222222

line 3 is:333333333333333333333333333

  ,  $.              ,  ,        $.   $/       ?



          ,    :

$text = "C:\test.txt";

undef $/; #

open FH,$text or die "can't open:$!";

while () {

    print "line $. is:$_";

}

close FH;



          undef $/; ,           ,             :

line 1 is:111111111111111111111111111

222222222222222222222222222

333333333333333333333333333

          ,          ,      “line 1”(              ),    ?

    $.              ,    ,   $.    $/   ,                :

$text = "C:\a.txt";

$/ = ";"; #     ,     $/      ,         

open FH,$text or die "can't open:$!";

while () {

    print "line $. is:$_ ";

}

close FH;



      C   a.txt   :

ddd;bbb;ccc;fff;eee;

      。

       :

line 1 is:ddd;

line 2 is:bbb;

line 3 is:ccc;

line 4 is:fff;

line 5 is:eee;

             。



 ,$.        ,           ,        :

$text = "C:\test.txt";

open FH,$text or die "can't open:$!";

while () {

    print "line $. is:$_ ";

}

print " ",$.;

close FH;

print " ",$.;

                 print " ",$.;(         ,            )。

       :

line 1 is:111111111111111111111111111

line 2 is:222222222222222222222222222

line 3 is:333333333333333333333333333

3

0

              ,        ,              (   print " ",$.;   );

$.         (      ,       ),  ,           ,          (                 3);

       ,           0 。

              ,           perl           ,        ,      ,                                。



         

                ,    :

C:>perl -e "print $^O;";

MSWin32

  ,        $^O          O,   。

    linux   ,     MSWin32 ,  Linux ;

           ,    。