导航:首页 > 操作系统 > linux运行perl脚本

linux运行perl脚本

发布时间:2023-03-15 12:48:50

linux下怎么运行perl程序

1、perl解释器基本在所有的linux平台上都是自带的,用户可以通过如下命令判断是否有perl解释器:

which perl

2、如果自己的linux系统上没有perl解释器,可以去其官网下载安装。

3、在具备perl解释器的情况下,可以参考如下运行步骤:

1)、用vim编写test.pl,代码如下:

#!/usr/local/bin/perl
print "HellonWorld! ";

2、编写完成后,直接执行如下命令即可:

perl test.perl

3、有时候需要一些权限,自己可以通过su、sudo等命令提示权限。

❷ linux下运行perl文件

第一是,perl文件逗梁的第一行要指定perl解释器的位置,典型的如下
#!/usr/bin/perl

第二是,perl文件的权限要有可执行的权限,可通过右键->属性->权限,勾选来添加可执行权限(当然缓如,你本身也应该有扰指启修改该文件权限的权限),也可以通过在命令行上执行chmod +x <perlfile>来添加执行权限。

❸ linux中怎样用命令运行.pl文本可执行文件

以ubuntu系统为例:

1,首先去运耐唤野行perl-v命令查看您的linux系统上面是否安装了perl工具,如果已安装的话,会输出版本号,如果没有安装,则安装perl。

sudo apt-get install perl

(3)linux运行perl脚本扩展阅读

Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。

Perl借取了C、sed、awk、shell脚本语言以及很多其他程序语言的特性,其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,Perl像C一样强大,像awk、sed等脚本描述语言一样方便,被Perl语言爱好者称之为“一种拥有各种语言功能链清的梦幻脚本语言”、“Unix中的王牌工具”。

Perl一般被称为“实用报表提取语言”昌喊(),你也可能看到“perl”,所有的字母都是小写的。一般,“Perl”,有大写的P,是指语言本身,而“perl”,小写的p,是指程序运行的解释器。

❹ linux如何调试perl脚本

可以在对应的位置兄孝者增加print打印相关参数慎模。
也可以安装IDE如Eclipse、VSCode。直接就可以运行羡薯调试了。

❺ linux下 如何用perl脚本给程序传参(argv)

把执行perl脚本的指令放在反引号之间
./test `perl -e 'print "A"x128'`
`这个符号在键盘tab的上边,1的左边
还可以放在$()中
./test $(perl -e 'print "A"x128')
这个test是一个linux命令,最好不要用作程序名

❻ linux上连数据库,除了jdbc

1. 运行SQL查询:可以使用MySQL命令行客户端,phpMyAdmin等工具来运行SQL查询,禅拿从而访问数据库。

2. 使用ODBC:可以使用ODBC(Open Database Connectivity)来连接Linux上的数据库,这种方式可以让你在Linux上使用ODBC驱动程序,从而访问数据库。

3. 使用Perl:可以使用Perl脚本来连接Linux上的数据库弯袭缺,这种方式可以使用Perl DBI模块,从而访问数据库。

4. 使用Python:可以使用Python脚本来连接Linux上的数据库,这种方式可以使用Python DB-API接口埋辩,从而访问数据库。

❼ perl脚本在linux里,只显示带颜色的命令

对于Linux管理员来说,grep是日常最常用的命令,可以把匹配的字符输出,同样可以输出颜色。

# grep --color 'test' /var/log/maillog

无聊练功:用perl 实现grep --color

# vi colorgrep

#!/usr/bin/perl
use Term::ANSIColor;
my $test;
if (@ARGV != 2){
die "Please use (colorgrep 'some key word' filename)\n";
}
$test = shift @ARGV;
while(<>){
if(/$test/i){
print "$`";
print color "bold red";
print "$&";
print color 'reset';
print "$'";
}
}

这里调用了Term::ANSIColor 函数 color 有以下的参数:

clear, reset, dark, bold, underline, underscore, blink, reverse, concealed, black, red, green, yellow, blue, magenta, cyan, white, on_black, on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, and on_white

还有以下的简化使用方法

2) use Term::ANSIColor qw(:constants);

如果使用这种方法,可以直接把颜色属性放在要输蚂稿旅出的问题前面,从而简化输出步骤。这些闷凳颜色属性有:

CLEAR, RESET, BOLD, DARK, UNDERLINE, UNDERSCORE, BLINK, REVERSE, CONCEALED, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, ON_BLACK, ON_RED, ON_GREEN, ON_YELLOW, ON_BLUE, ON_MAGENTA, ON_CYAN, and ON_WHITE
等。

例如:
print BOLD BLUE ON_WHITE “Text”, RESET, “\n”;

如果你打印完之后想清除掉字符串的格式,一定要记得在最后加上一个RESET的属性值。
例如:

use Term::ANSIColor qw(:constants);
print BOLD, BLUE, “This text is in bold blue.\n”, RESET;

3) $Term::ANSIColor::AUTORESET = 1;

对于2)的方法,如果你不想在每条打印语句后面加上RESET的话,你可以直接把$Term::ANSIColor::AUTORESET的值设敬顷为true。这样每次打印完字符,只要你的属性值之间没有逗号,系统将自动帮你清除掉颜色属性。

看一个完整的例子:

use Term::ANSIColor qw(:constants);
$Term::ANSIColor::AUTORESET = 1;
print BOLD BLUE “This text is in bold blue.\n”;
print “This text is normal.\n”;

这三种方法,使用起来各有千秋,可根据要打印的复杂程度选用。

❽ Linux下的并行神器——parallel

GNU Parallel的输入源支持文件、命令行和标准输入(stdin或pipe)。

当然,若不想象上面那样进行组合,可使用 --xapply 参数从每一个源获取一个参数(或文件一行),这个参数有些类似R中的函数,具有广播作用——如果其中一个输入源的长度比较短,它的值会被重复。

GNU Parallel可以通过 --arg-sep 和 --arg-file-sep 指定分隔符替代 ::: 或 ::::,当这两个符号被其它命令占用的时候会特别有用。

GNU Parallel默认把一行做为一个参数:使用 \n 做为参数定界符。可以使用 -d 改变:

GNU Parallel支持通过 -E 参数指定一个值做为结束标志:

GNU Parallel使用 --no-run-if-empty 来跳过空行:

如果parallel之后没有给定命令,那么这些参数会被当做命令:

此外,命令还可以是一个脚本文件,一个二进制可执行文件或一个bash的函数(须用 export -f 导出函数)

GNU Parallel支持多种替换字符串,默认使用 {},使用 -I 改变替换字符串符号 {}。其最常见的字符串替换包括以下几种: {.} ,去掉扩展名; {/} ,去掉路径,只保留文件名; {//} ,只保留路径; {/.} ,同时去掉路径和扩展名; {#} ,输出任务编号。同时对于每一个字符串替换都可以自己指定符号: -I 对应 {} ; --extensionreplace 替换 {.} ; --basenamereplace 替换 {/} ; --dirnamereplace 替换 {//} ; --basenameextensionreplace 替换 {/.} ; --seqreplace 替换 {#} 。

同时,如果有多个输入源时,可以通过 {编号} 指定某一个输入源的参数:

使用 --header 把每一行输入中的第一个值做为参数名。

使用 --colsep 把文件中的行切分为列,做为输入参数。

--xargs 会在一行中输入尽可能多的参数(与参数字符串长度有关),通过 -s 可指定一行中参数的上限。

为了获得更好的并发性,GNU Parallel会在文件读取结束后再分发参数。
GNU Parallel 在读取完最后一个参数之后,才开始第二个任务,此时会把所有的参数平均分配到4个任务(如果指定了4个任务)。
第一个任务与上面使用 --xargs 的例子一样,但是第二个任务会被平均的分成4个任务,最终一共5个任务。(奇怪的是我的结果与官网教程的结果不一样)

替换字符串可以是输出字符的一部分,使用 -m 参数表示每个job不重复输出“背景”(context), -X 则与 -m 相反,会重复输出“背景文本”,具体通过下面几个例子进行理解:

使用 -N 限制每行参数的个数,其中 -N0 表示一次只读取一个参数,且不输入这个参数(作为计数器来使用)。

如果命令行中包含特殊字符,就需要使用引号保护起来。
perl脚本 'print "@ARGV\n"' 与linux的 echo 的功能一样。

使用GNU Parallel运行这条命令的时候,perl命令需要用引号包起来,也可以使用 -q 保护perl命令:

使用 --trim 去除参数两头的空格:

使用 --tag 以参数做为输出前缀,使用 --tagstring 修改输出前缀:

--dryrun 作用类似于echo:

--verbose 则在运行之前先打印命令:

一般来说,GNU Parallel 会延迟输出,直到一组命令执行完成。使用 --ungroup ,可立刻打印输出已完成部分。

使用 --ungroup 会很快,但会导致输出错乱,一个任务的行输出可能会被另一个任务的输出截断。像上例所示,第二行输出混合了两个任务: '4-middle' '2-start'。使用 --linebuffer 避免这个问题(稍慢一点):

强制使输出与参数保持顺序 --keep-order/-k :

GNU Parallel可以把每一个任务的输出保存到文件中,临时文件默认保存在 /tmp 中,可以使用 --tmpdir改变(或者修改 $TMPDIR):

输出文件可以有结构的保存 --results ,输出文件不仅包含标准输出(stdout)也会包含标准错误输出(stderr):

在使用多个变量的时候会显示很有用:

使用 --jobs/-j 指定并行任务数。

通过使用 --interactive 在一个任务执行之前让用户决定是否执行。

当job有大量的IO操作时,为避免 “惊群效应” ,可使用 --delay 参数指定各个job开始的时间间隔。

若已知任务超过一定时间未反应则为失败则可以通过 --timeout 指定等待时间避免无谓的等待。GNU parallel能计算所有任务运行时间的中位数,因此可以指定时间为中位数的倍数关系。

GNU parallel有多种方式可用来动态的显示任务进度信息,如:

使用 --joblog 参数能够生成各个任务的日志文件:

通过 --resume-failed 参数可以重新运行失败的任务; --retry-failed 的作用与 --resume-failed 类似,只是 --resume-failed 从命令行读取失败任务,而 --retry-failed 则是从日志文件中读取失败任务:

GNU parallel支持在某一情况下(如第一个失败或成功时,或者20%任务失败时)终止任务,终止任务又有两种类型,其一为立即终止(通过 --halt now 指定),杀死所有正在运行的任务并停止生成新的任务,其二为稍后终止(通过 --halt soon 指定),停止生成新任务并等待正在运行任务完成。

GNU parallel还支持在任务失败后重试运行 --retries :

关于终止信号的高级用法参考 官方入门文档 。

GNU parallel能够在开始一个新的任务前检查系统的负载情况防止过载(通过 --load 可指定负载),同时还能检查系统是否使用了交换空间(swap)(通过 --noswap 限制使用swap)。

同时,对于某些占用内存较多的程序,parallel会检查内存只有内存满足时才启动任务(通过 --memfree 指定需要内存大小),而且在启动任务后内存不够50%时会杀掉最新开始的任务,直到这个任务完成再重新开始那些杀死的任务。

还可以通过 --nice 来指定任务的优先级。

可使用 -S host 来进行远程登陆:
parallel -S username@$SERVER1 echo running on ::: username@$SERVER1

GNU parallel 文件传输使用的是rsync。

更多远程操作参见入门文档。

--pipe 参数使得我们可以将输入(stdin)分为多块(block),然后分配给多个任务多个cpu以达到负载均衡,最后的结果顺序与原始顺序一致。使用 --block 参数可以指定每块的大小,默认为1M。

如果不关心结果顺序,只想要快速的得到结果,可使用 --round-robin 参数。没有这个参数时每块文件都会启动一个命令,使用这个参数后会将这些文件块分配给job数任务(通过 --jobs 进行指定)。若想分配更为均匀还可同时指定 --block 参数。

参考:
官方文档
GNU Parallel指南

❾ Linux (GNU/Linux)下如何执行perl程序

你那个aa.pl并不是可执行文件,它只是个文本文件。
你要执行它需要调用perl,在终端用perl aa.pl就可以执行了。
aa.pl就是个perl脚本。和shell脚本执行差不多。

阅读全文

与linux运行perl脚本相关的资料

热点内容
有个动漫女主蓝头发是程序员 浏览:998
云服务器资源评估 浏览:882
微云下载文件夹是空的 浏览:3
r9数控车的编程 浏览:403
为什么删不掉ksafe文件夹 浏览:291
理科男学编程用什么电脑 浏览:839
安阳弹性云服务器 浏览:570
压缩空气储罐有效期 浏览:408
英国文学PDF 浏览:175
软件编程需求 浏览:626
广州哪里解压 浏览:253
手机小视频怎么压缩 浏览:915
微信聊天界面源码 浏览:24
seo竞价推广点击价格算法公式 浏览:319
框架结构可以加密吗 浏览:218
python编译器怎么清除 浏览:73
linux全局socks代理 浏览:611
php微信抽奖 浏览:771
压缩算法嵌入式移植 浏览:531
php新手小例子 浏览:233