<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## Shebang 行 幾乎每個 Perl 程序都如此開始: ~~~ #!/usr/bin/perl ~~~ 這是 UNIX 結構,它告訴 Shell 直接執行余下的輸入程序文件。 你可以在此行添加 Perl 的任何命令行選項,它們將成為選項之后命令行的一部分。 如果你有一個程序包含: ~~~ #!/usr/bin/perl -T ~~~ 然后執行: ~~~ perl -l program.pl ~~~ `-l`?和?`-T`?兩個選項都會使用,但?`-l`?將先用。在?_perlrun_?文檔中介紹 了 Perl 的命令行選項。此處只介紹最有用的內容。 ## perl -T Perl 允許你在?`taint`?模式執行。在此模式中,變量在使用前需要“消毒”,以 應對不安全的操作。 何為不安全? * 執行程序 * 寫入文件 * 創建目錄 * 基本上,修改系統的任何事情 如果你沒有“去污”數據,那么這些操作將是程序中的嚴重錯誤。 如何去污?使用正則表達式匹配有效的值,然后將匹配賦給變量。 ~~~ my ($ok_filename) = $filename =~ /^(\w+\.log)$/; ~~~ 你應當達到程序?`taint`?安全的目的。 ## perl -c file.{pl,pm} 此命令行選項允許檢查給定文件的語法錯誤。它也會執行?`BEGIN`?塊中的任意 代碼,并檢查程序中已使用的模塊。 你應當使用?`-c`?在每次更改后檢查代碼的語法。 ## perl -e 'code' 該選項允許你從命令行執行代碼,以代替將程序寫入文件來執行。 ~~~ $ perl -e 'print "1\n"' 1 ~~~ 這對小程序、快速計算、以及與其他選項組合使用非常有用。 ## -n、-p、-i Perl 的?`-n`?選項允許你針對標準輸入的每行重復執行代碼(通常使用?`-e`?指定)。 這些是等效的: ~~~ $ cat /etc/passwd | perl -e 'while (<>) { if (/^(\w+):/) { print "$1\n"; } }' root ... $ cat /etc/passwd | perl -n -e 'if (/^(\w+):/) { print "$1\n" }' root ... ~~~ `-p`?選項與?`-n`?相同,除了它在每行后打印?`$_`。 如果你組合?`-i`?選項,Perl 將就地編輯你的文件。因此,要將一堆文件從 DOS 轉換成 UNIX 換行,你可以這樣干: ~~~ $ perl -p -i -e 's/\r\n/\n/' file1 file2 file3 ~~~ ## perl -M Perl 的?`-M`?選項使你可以從命令行使用模塊。有好些模塊首選此方式運行(如?_CPAN_和?_Devel::Cover_)。如果你需要使用?`-e`?包含模塊,它也是習慣的 簡寫。 ~~~ $ perl -e 'use Data::Dumper; print Dumper( 1 );' $VAR1 = 1; $ perl -MData::Dumper -e 'print Dumper( 1 );' $VAR1 = 1; ~~~ ## 明白模塊是否已被安裝 試試從命令行加載模塊。`-e1`?只是一個立即退出的空程序。如果你獲得錯誤, 那么該模塊未被安裝: ~~~ $ perl -MWWW::Mechanize::JavaScript -e 1 Can't locate WWW/Mechanize/JavaScript.pm in @INC... BEGIN failed--compilation aborted. $ ~~~ 返回沒有錯誤則意味著該模塊已安裝。 ~~~ $ perl -MWWW::Mechanize -e 1 $ ~~~ 當它存在時,檢查版本: ~~~ $ perl -MWWW::Mechanize -e'print $WWW::Mechanize::VERSION' ~~~ 并非所有模塊都有?`$VERSION`?變量,因此這可能不總是工作。
                  <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>

                              哎呀哎呀视频在线观看