<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>


            ??????? Perl5????????

            ???require????
              1??require????????????
              2????require???Perl?·Ú
            ??????
              1?????????
              2????????§Ý?
              3??main??
              4??????????
              5???????????
              6???????????
              7???e????????????
              8????????????
              9??????????
            ???????
              1?????????
              2?????????
              3??????????

            ???require????
                ??require???????????????????????????????????íà??myfile.pl???§Ø?????Perl?????????????require ("myfile.pl"); ??????§Ñ???????????Perl???????????????????????????????@INC???????????????myfile.pl?????????????????§Ö????????§µ?????????????????????????
                Can't find myfile.pl in @INC
                ??????????¨°?????????????????????????????????require??????????????????????????????myfile.pl??????????
                print ("hello, world!\n");
                $var = 0;
                ??????????????Perl????????????§Õ?????????????
                myfile.pl did not reture true value
                ?????¨¹?????????????????require??????????»Ç
            @reqlist = ("file1.pl", "file2.pl", "file3.pl");
            require ($reqlist[$0]);
            require ($reqlist[$1]);
            require ($reqlist[$2]);
                ?????????????????????
                require;
                ?????????$_??????????????????require??
                ??????@INC???§Ø?????§Ü????????????????§Ö????????????
            1??require????????????
                ??require?????????????????????Perl??????????????????¡ê?
            a??????????????????
            b????????????????????????§µ?????????????????
            c?????????¦Â????????????????????????? 1;
            d??????????????require?????????????????????
            e????????????????? -I ?????????????????????????require???????????@INC?????§³?
                ???»Ç??????/u/perldir?§Õ??????Perl???????????mysub?????????mysub.pl?§³???????????????????
                unshift (@INC, "/u/perldir");
                require ("mysub.pl");
                ??unshift????e???/u/perldir????@INC???ï…??require????y?mysub.pl??????????????????????????????
            ???
            1????????unshift????@INC???????????????push?????push?????@INC???¦Â???????????????????
            2????????????????/usr/local/lib/perl?§Ö???????????????????????????require????????????§Ö???????
            2????require???Perl?·Ú
                Perl 5?§µ???????require?????????????????????Perl?·Ú????Perl??????????require???????????????????·Ú???????????????????§Ú¨®??????íà?????????????Perl???????5.001????????????§Ú¨®???
                require 5.001;
            ??????
                Perl???????????????????????????????§µ?perl?????????????????????(package)??
            1?????????
                ??????????§á??????????????????????????????????????????
                package mypack;
                ?????????????mypack?????????????????§Ò??????????????????????e????????????§µ?????????????package???????
                ???????????????????????????????????????????????????????????????????????????????????????????????????»Ç
            $var = 14;
            package mypack;
            $var = 6;
                ??????????????$var????????main??????§µ????????????????????????$var????????mypack?????????§³?
            2????????§Ý?
                ???????????????????????§Ý????»Ç
            1: #!/usr/local/bin/perl
            2:
            3: package pack1;
            4: $var = 26;
            5: package pack2;
            6: $var = 34;
            7: package pack1;
            8: print ("$var\n");
                ???§ß?????¡ê?
            $ program
            26
            $
                ?????§Ø??????pack1???????§Õ???????$var?????????pack1???????§µ??????§Ø????¡ã?pack2???????§Õ????????????$var?????????pack2???????§³???????????????????$var????????????????§³????????????pack1?????????????pack1??????ÈÉ?????????§Ò?????????????????????e????????§Õ????????????????§Ø?$var??????pack1???§Ö?$var??????26??
            3??main??
                ???????????????????????????????????main?????????????????????????????????????????§Ý???????????????????????????main????
                package main;
                ??????????????????????????????????????????????????????????????????
            4??????????
                ????????§á??????????????§Ö??????????????????????????????????????????????»Ç
            package mypack;
            $var = 26;
            package main;
            print ("$mypack'var\n");
                ????$mypack'var?mypack???§Ö????$var??
                ?????Perl 5?§µ???????????????e????????$mypack::var??????????????????????????????·Ú??¦Ä??????
            5???????????
                ??Perl 5?§µ?????????????????????????
                 package;
                ????????§Ö??????????????????????????????§¹--????
                 $mypack::var = 21; #ok
                 $var = 21;   #error - no current package
                ????????????package???????????????
            6???????????
                ???????????????§Ö??????????????????»Ç
            package mypack;
            subroutine mysub {
              local ($myvar);
              # stuff goes here
            }
                ????mysub??myvar?????mypack???????????mypack??????????mysub????????????$mypack'mysub??
                ??????????????§Ý?????
            package pack1;
            subroutine mysub {
              $var1 = 1;
              package pack2;
              $var1 = 2;
            }
                ??¦Ä???????????????$var1????????pack1?§µ???????pack2?§µ????§Ö???????????????????????????????????????????????????
            7???e????????????
                ??????????????????????????????????????????????????§µ??????????????????????????????????????????????????????????????????????????????????????????????????????????????¨¢????????????
            1 : package privpack;
            2 : $valtoprint = 46;
            3 :
            4 : package main;
            5 : # This function is the link to the outside world.
            6 : sub printval {
            7 :   &privpack'printval();
            8 : }
            9 :
            10: package privpack;
            11: sub printval {
            12:   print ("$valtoprint\n");
            13: }
            14:
            15: package main;
            16: 1; # return value for require
                ???????????????printval?????????????
                ?????????????????????????????????§Ó????????????main???????????privpack????6~8?§Ø?????????printval???????????????????¨¢?printval???????$valtoprint???????????????privpack?§Ø??????¨¢???15??16?????????????????require????????????????15?§ß???????????????main??16?§Ù????????require???????
            8????????????
                ???§Ò???????????????§Ö???????main???????????
          1. ???????STDIN, STDOUT, STDERR ?? ARGV
          2. ????%ENV, %INC, @INC, $ARGV ?? @ARGV
          3. ???????????????????????
          4. 9??????????
                ??????§Ó??????????????%_package?????package?????????????????????????%_main?????????????
                ????????????????????

            ???????
                ?????????????????????????????????????????????????????????????????????????????????????????????????????????î•
            1?????????
                Perl 5???e?????????ï…?????????????????????????????§³????íà???Mymodult????????????Mymodult.pm?§µ??????.pm???Perl Module?????????????Mymodult?????????myfunc1??myfunc2??????$myvar1??$myvar2??
            1 : #!/usr/local/bin/perl
            2 :
            3 : package Mymodule;
            4 : require Exporter;
            5 : @ISA = qw(Exporter);
            6 : @EXPORT = qw(myfunc1 myfunc2);
            7 : @EXPORT_OK = qw($myvar1 $myvar2);
            8 :
            9 : sub myfunc1 {
            10:   $myvar1 += 1;
            11: }
            12:
            13: sub myfunc2 {
            14:   $myvar2 += 2;
            15: }
                ??3~7????????Perl??úE?Ùã?????3?§Ø????????4?§Ñ???????Perl???Exporter??6??7?§ß???????????????????????????????6?§Õ??????@EXPORT?????????ï…???????§Ö??????????????????????????myfunc1??myfunc2???????????????¦Ê???????§Ø??áÑ??§Ú???????@EXPORT???????????§Ö????????????????¨¢???7?§Õ???????????@EXPORT_OK?????????ï…???§Ü??§á???????????????????????$myvar1??$myvar2??
            2?????????
                ????ùy?????Perl?????????use????????????Mymodule??ï“
                 use Mymodule;
                ?????????Mymodule?§Ö?????????????????????
                ?????????????no?????????????Mymodule???????
                 no Mymodule;
                ???žL???????????????????????????integer??????????????????????????????????????????????????????
            1: #!/usr/local/bin/perl
            2:
            3: use integer;
            4: $result = 2.4 + 2.4;
            5: print ("$result\n");
            6:
            7: no integer;
            8: $result = 2.4 + 2.4;
            9: print ("$result\n");
                ??????????¡ê?
            $ program
            4
            4.8
            $
                ???use??no?????????????§µ???????????§¹??¦¶??????????»Ç
            use integer;
            $result1 = 2.4 + 2.4;
            if ($result1 == 4) {
            no integer;
            $result2 = 3.4 + 3.4;
            }
            $result3 = 4.4 + 4.4;
                ?????????¡ê?
            4
            6.8
            8
                ????no??????if???????§¹??????if????????integer??ï…???4.4?????????????????4??
            3??????????
                Perl 5???????????????????ï…??????use?????no?????????????????????????§»??ï“

            integer ???????????
            Diagnostics   ??????????????????—¥
            English ????????????????????????
            Env ????????????Perl???
            POSIX POSIX?????IEEE 1003.1????Perl???  
            Socket ???C????????????????

                Perl??????????????????????§Ò??
                ???????????Perl 5???§Õ????????????ï…CPAN(Comprehensive Perl Archive Network)??Perl??????????????§Ò??????CPAN?????????????????http://www.perl.com/perl/CPAN/README.html??

            ????? ????? ??


            paper | appdir | ssv
            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      ÑÇÖÞÅ·ÃÀÔÚÏß