方法一:
in shell using export to output a variable, and in perl using special variable %env to get shell's variables.
i.e.:
--- shell box---
$ \bin\ksh
# export x=foo
# perl -e 'print $env'
-------------
方法二:
象c一樣,perl也有儲存命令列引數的陣列@argv,可以用來分別處理各個命令列引數;與c不同的是,$argv[0]是第乙個引數,而不是程式名本身。
$var = $argv[0]; # 第乙個引數
$numargs = @argv; # 引數的個數
perl中,<>操作符實際上是對陣列@argv的隱含的引用,其工作原理為:
1、當perl直譯器第一次看到<>時,開啟以$argv[0]為檔名的檔案;
2、執行動作shift(@argv); 即把陣列@argv的元素向前移動乙個,其元素數量即減少了乙個。
3、<>操作符讀取在第一步開啟的檔案中的所有行。
4、讀完後,直譯器回到第一步重複。
例:@argv = ("myfile1", "myfile2"); #實際上由命令列引數賦值
while ($line = <>)
將把檔案myfile1和myfile2的內容列印出來。
Shell向Perl指令碼中傳遞變數的方法
方法一 in shell using export to output a variable,and in perl using special variable env to get shell s variables.i.e.shell box bin ksh export x foo perl...
Shell向Perl指令碼中傳遞變數的方法
方法一 in shell using exportto output a variable,andin perl using special variable env to get shell s variables.i.e.shell box bin ksh export x foo perl e...
向指令碼傳遞引數
start 在需要的時候我們可以向 perl 指令碼傳遞引數,perl 會自動將所有的引數放到陣列 argv 中,下面是乙個簡單的例子。usr bin perl use strict if argv 1 my name argv print welcome name n unix 的 cat 命令可...