當前位置:首頁 » 編程軟體 » 調用perl腳本

調用perl腳本

發布時間: 2023-01-08 17:01:06

『壹』 請問如何在python中調用perl腳本

1.確保perl已經安裝並且在PATH中。
2.in python:
import subprocess
subprocess.call(["perl", "/path/to/your-script.pl"])

如果腳本本身有可執行許可權,直接這樣也行:
import subprocess
subprocess.call(["/path/to/your-script.pl"])

『貳』 如何在WINDOWS命令行下運行perl腳本

Linux下perl文件的執行#! /usr/bin/perl
第一個「#」表示是這一行是注釋
第二個「!」表示這一行不是普通注釋,而是解釋器路徑的聲明行
後面的「/usr/bin/perl」是perl解釋器的安裝路徑,也有可能是:「/usr/local/bin/perl」,如果那個不行,就換這個。
這樣修改後,文件就是這個模樣:
#!/usr/bin/perl
#test.pl
print "test message! \n";
然後,給文件加上可執行的屬性:
$ chmod 755 test.pl 或者 $ chmod +x test.pl
這兩個命令用哪一個都可以。

現在執行吧: $ ./test.pl

『叄』 如何用perl腳本來調用新的perl腳本而不啟動新進程

簡單的話至少可以用 do 或者 eval 來實現, 譬如有腳本 child01.pl 和 child02.pl, 在 parent.pl 中可以:
do 'child01.pl'
do 'child02.pl'
而運行, 因為還在原來的 perl 進程中, 所以滿足 "不啟動新進程" 的要求 ...

『肆』 perl腳本怎麼調用perl腳本

方法有許多種,最簡單的 system("~/myperl.pl");最常用的 @result=`"~/myperl.pl"`;

『伍』 shell 中怎麼調用perl腳本

調用帶參數的腳本,需要首先設置,舉例如下:

test.py按行解釋如下:
腳本中有漢字的話,需要聲明文件編碼格式;
導入sys模塊,這個模塊是用來獲取參數列表的;
sys.argv是一個列表,第一個是文件名,之後依次是參數列表;
列印輸出,這一步不需要多講;
保存到c:\users\YYC\Desktop\test.py;
調用操作步驟:
打開命令行;
輸入python 文件名 第一個參數 第二個參數.....(參數之間用空格區分);
一定要注意參數個數,要以文件名開始。

『陸』 perl中對系統腳本調用的問題

哈哈,又是你啊~~~
1. 循環結構沒問題,但是就象我上次說的那樣,
for (my $i=0;$i<@file;$i++)帶有c的風格,perl的執行效率不高。建議用
foreach $file_name (@file)

2. 正則有問題,首先有個基本問題要搞清。"_"下劃線是不需要轉義的,所以不需要\,"."在匹配點號時需要轉義,當然.號也算是一個非分隔字元,也能被匹配,只是那樣做不是很好。
我的正則: $file_name =~ /.+_(\d)+-(\d)+\.(\d)+\.\w+/
前提是文件名只是諸如:PM_200901091100-200901091200.86.xml這種包含數字字母的文件名。

『柒』 perl 如何在一個perl腳本程序里調用另一個需要運行參數的perl腳本程序 例如有一個a.

你首先需要關聯.pl文件到perl.exe,雙擊b.pl能執行就是關聯好了的,然後在b.pl裡面這樣寫代碼就可以:
$f='abc.txt';
system "a.pl --show-timer -f $f";

『捌』 如何調試perl腳本

進入退出:
perl
-d debugtest用調試器載入perl程序運行,互動式界面

Loading
DB routines from perl5db.pl version 1.3

Editor
support available.

Enter
h or `h h' for help, or `perldoc
perldebug'
for more help.

main::(p4.pl:2): my($xx,$yy)=(1,1);

DB<1>

先是歡迎信息,顯示第一個可執行行:程序將要執行的當前行號。包名,文件名,文件中的行號。

提示符DB<n>
n為命令行號。h可看幫助,q退出調試器
l
預設顯示10行 再輸入l接著顯示10行

l
10 指定顯示第10行

l
8-10 指定顯示行的范圍

l
8+3 指定從哪行開始多少行。

l
subs 指定顯示函數,提供函數名。如果太長只顯示前幾行,用l接著顯示

-
顯示在當前行前面的行,再輸入-繼續向前

w
7 包含指定行的顯示窗口 windows可能不一樣

//
?? 從當前行搜索包含指定模式的行 /find/
//從前向後正向搜索,??從後向前逆向搜索 可忽略?? //中後面的? /。

S
列出所有函數,包名::函數
無參數的預設形式列出所有底層和繼承的函數,太多。加上搜索模式,指定當前程序包 S main可列出含main的函數
s 執行單條語句 顯示下一條要執行的語句。如果需要交互會等待輸入。

對於函數,僅僅是進入不執行,如果不進入函數內部,要跳過用n。不能進入系統內部的庫函數,只能進入自己定義的

n 執行一行程序,stepover 不進入函數。

f 執行當前函數剩下的語句,顯示跟隨函數的語句
step
out 舊命令,現在為切換文件名

回車
如果執行了s或n,以後只用回車重復執行上一個s或n的命令。

r 在函數中執行到函數外
b 10
在哪一行設置斷點。如果此行非執行語句,顯示不能設置斷點。如果一條語句有多行,則在第一行設置,其餘行不能設置。

b func在函數處設置斷點

b 10
($curdir eq
"") 當條件為真時中斷執行

c
執行到斷點或終止。繼續

c
12臨時斷點,只中斷一次,繼續執行在12行中斷。

L
列出所有斷點。列出前幾行,當前行,斷點。斷點條件。

B
10刪除斷點。不帶參數認為是下一行是斷點。

B *
刪除所有斷點。
X
var 不帶參數列出main包的所有變數,包括預定義的變數。指定變數不帶$,@。可能是符號表中的變數才行。現在與V同。

V
var 列出任何包的變數。只指定包名列出包的所有變數。指定包及變數為main
var。無::

S
列出所有可用的函數,包名::函數 無參數的預設形式列出所有底層和繼承的函數,太多。加上搜索模式,

指定當前程序包
S
main可列出含main的函數

p
expr
指印表達式值。把標准輸出重定向也會輸出到屏幕。
程序到達某一行時指定執行一條或多條語句。常見的行動作是顯示變數值或把含錯誤值的變數重置為指定的值

a
10 print ("curdir is $curdir\n") 多條語句在一行中用分號;分開,當要續行時用\ 執行完第10行執行指定的語句。

A
*刪除所有行動作
A 10刪除第10行的動作

>
print 在程序開始執行前執行語句。無參數形式刪除設置

<
print 在程序執行完成後執行語句。無參數形式刪除設置
跟蹤 顯示每一個執行行。

t
打開,關閉跟蹤。每執行顯示一行。

任何非調試命令的perl語句都可執行。分號可忽略。更改變數值。

H
列出從前命令

!
n 執行從前命令。忽略行號執行上一條命令
n=-2跳過2條命令。從當前H列表逆向跳過。

T
棧跟蹤。調用級

$
= &main::sub2('hi') from file debug1 line 7

$
= &main::sub1('hi') from file debug1 line 3

當前程序在第7行,在main包的sub2函數中,以hi為實際傳遞的參數。返回簡單變數,此函數由sub1調用。

=
別名 命令 給命令定義別名 =
pc print ("curdir is $curdir\n");別名存在%DB(%DB::alias)中。無參數列出定義的別名。輸入pc列印語句。

預定義別名:每次載入調試器自動定義別名。在.perldb中加入$DB'alias{"pc"} = 's/^pc/print
("curdir is $curdir\n");/';
錯誤檢查
Lint perl -MO=Lint,-u pl 編譯時檢查

perldiag錯誤信息

-w 重定義函數變數未使用

Use strict;

use diagnostics 警告信息。
命令行參數簡介
-c 語法檢查

-v版本

-w警告信息

-e執行單行程序

-s為程序提供命令行選項。perl -s prog.pl
-q =>$q=1作為選項。不出現在@ARGV中。否則不加-s,-q作為字元串存在@ARGV中。可賦值-abc="abc"
跟在程序名後帶-的是選項,不帶-的不是,不是選項的項後面的所有都不是選項。

-P先運行c預處理器,輸出再由perl執行

-I指定目錄中的包含文件

-n循環處理多個文件。不用while

-p讀文件行並顯示。同n,不用print自動顯示。

-i編輯文件,讀然後寫迴文件。
-a分割行到@F

-F分割模式,指定分割符

-0
指定輸入行結束符,用八進製表示

-1
指定輸出行結束符

-x從消息中抽取程序。忽略行,直到遇到#!..perl。到文件尾,ctrl-d
ctrl-z __END__時結束

-u產生coremp

-U可以執行不安全操作

-S從路徑中查找程序

-D設置調試標志

-T寫安全程序。從外部獲得的數據不能作為命令或修改文件系統

-d使用調試器

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:593
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:888
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:581
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:765
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:684
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1013
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:255
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:114
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:806
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:713