<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Perl 中的子程序 > 原文: [https://beginnersbook.com/2017/02/subroutines-and-functions-in-perl/](https://beginnersbook.com/2017/02/subroutines-and-functions-in-perl/) Perl 允許您定義自己的函數,稱為**子程序**。它們用于代碼可重用性,因此您不必一次又一次地編寫相同的代碼。例如,如果您想在程序的多個位置從用戶那里獲取輸入,那么您可以在子程序中編寫代碼并在需要輸入的任何位置調用子程序。這樣您就不必再次編寫相同的代碼,這也提高了代碼的可讀性。 #### 子程序的優點: 1)代碼可重用性 2)提高代碼可讀性 ### 語法: #### 定義子程序 您需要做的第一件事是創建一個子程序。`sub`關鍵字用于定義 Perl 程序中的子程序。您可以選擇任何有意義的子程序名稱。 ```perl sub subroutine_name { statement(s); return; } ``` #### 調用子程序 通過使用前綴為`&`的子程序名稱來調用子程序。您也可以在調用子程序時傳遞參數。 ```perl &subroutine_name; #calling without parameter &subroutine_name(10); ``` ### 子程序的簡單例子 讓我們舉一個簡單的例子來理解這個: ```perl #!/usr/bin/perl my $msg; # defining three subroutines sub ask_user { printf "Please enter something: "; } sub get_input { $msg = <STDIN>; return $msg; } sub show_message { printf "You entered: $msg"; } #calling subroutines &ask_user; &get_input; &show_message; ``` **輸出:** ```perl Please enter something: Welcome to beginnersbook You entered: Welcome to beginnersbook ``` ### 將參數傳遞給子程序 在上面的例子中,我們在調用子程序時沒有傳遞任何參數,但是我們可以在調用子程序時傳遞各種參數。所有參數(通常稱為參數)都存儲在特殊數組(`@_`)中。讓我們看看下面的例子來理解這個: ```perl #!/usr/bin/perl # defining subroutine sub printparams { printf "@_\n"; return; } #calling subroutine &printparams("This", "is", "my", "blog"); ``` **輸出:** ```perl This is my blog ``` 在上面的例子中,我們使用特殊數組(`@_`)打印了所有參數。但是,如果需要,可以使用`$_[n]`顯示所選參數,其中`n`是參數的索引,例如`$_[0]`將引用第一個參數,`$_[1]`將引用第二個參數。讓我們舉一個例子: ```perl #!/usr/bin/perl # defining subroutine sub printparams { printf "First Parameter: $_[0]\n"; printf "Fourth Parameter: $_[3]\n"; return; } #calling subroutine &printparams("This", "is", "my", "blog"); ``` **輸出:** ```perl First Parameter: This Fourth Parameter: blog ``` ### 將數組傳遞給子程序 在上面的例子中,我們在調用子程序時傳遞了一些字符串參數。我們也可以將數組傳遞給子程序。這是一個例子: ```perl #!/usr/bin/perl # defining subroutine sub printparams { printf "First Parameter: $_[0]\n"; printf "Third Parameter: $_[2]\n"; printf "Fourth Parameter: $_[3]\n"; printf "Sixth Parameter: $_[5]\n"; return; } @array1 = ("This", "is", "text"); $num = 100; @array2 = ("Welcome", "here"); #calling subroutine &printparams(@array1, @array2, $num); ``` **輸出:** ```perl First Parameter: This Third Parameter: text Fourth Parameter: Welcome Sixth Parameter: 100 ``` ### 將哈希傳遞給子程序 ```perl #!/usr/bin/perl sub DisplayMyHash{ #copying passed hash to the hash my %hash = @_; for my $key (keys %hash) { print "Key is: $key and value is: $hash{$key}\n"; } } %hash = ('Item1', 'Orange', 'Item2', 'Apple', 'Item3', 'Banana'); # Function call with hash parameter DisplayMyHash(%hash); ``` **輸出:** ```perl Key is: Item1 and value is: Orange Key is: Item2 and value is: Apple Key is: Item3 and value is: Banana ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看