<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    ????? ?????


    ???????
    ????????
       1????&????
       2???????????
       3?????????
       4????do????
    ?????????
    ??????????
    ?]????????????
       1?????
       2??????????
    ????????????
    ???????????????????
    ??????????????


    ???????
      ???????????????????????????????????????????????????????????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)?????????????P????
      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???????


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


    paper | appdir | ssv 97av