当前位置:首页 » 编程软件 » 调用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 浏览:712