`

一段实用的perl脚本

    博客分类:
  • perl
阅读更多

 

下面的脚本实现了在命令行直接执行perl语句或是执行操作系统命令的功能。
虽然perl的命令行选项 -e可以,但不好用。

操作说明:
在终端执行 perl   shell.pl(保存为shell.pl)
有2种模式
1  perl解释器模式
    在控制台输入非os:开头的字符串,则该行字符串被当作perl脚本执行,如
    $i=3; $j=5; print $i+$5;       #按回车后,控制台输出为8
     
2. 操作系统命令模式
    在控制台中输入os:开头,则此模式打开,在此模式下,输入的字符串被当成
    操作系统命令执行,例如
    os: cat a.txt          #此命令就会运行shell的 cat命令,显示 a.txt的内容

注:下面的脚本只对单行输入有效,换行后,该行字符被当作输入进行解释,
        即每按动一次回车键(换行),命令就被解释一次。
      
      另外,更改当前目录的操作也没有实现


while(<>){
	chomp;
	if(/^os\:/i){
         s/os\://;
         system $_;
	}
	else{
		exit 0 if /^(exit|quit)$/i;
		eval $_;
	}
	print "\n";
}
 
1
2
分享到:
评论

相关推荐

    perl语言复制文件并重命名

    附件为一段perl的代码,目的是复制文件夹中的文件,并且以新的名字复制到这个文件夹中的。匹配文件ora_“数字".aud,复制名字为ora_“数字".aud

    PERL语言编程

    实际上,在 Perl 社区有一个笑话就是,下次股市大崩盘就很有可能是呢个家伙写的脚本里头有臭虫造成的。(不过,乐观点来看就是,任何还在失业的股票分析师仍然有可以利用的技巧。) &lt;br/&gt;Perl 的成功有许多原因...

    Perl脚本中单元测试自动化浅析

    而其中单元测试则是保证代码质量的第一个重要关卡。针对各种不同的语言,都有特有的单元测试框架。比如针对Java程序的单元测试框架 JUnit,针对Python程序的单元测试框架PyUnit,针对XML程序的单元测试框架XMLUnit ...

    Ruby教程面向对象脚本语言

    随后的一段时间,他到网络上搜集了一些相关的资料,并且发现了Perl 5,当时Perl 5还没有发布。通过一段时间了解后,Matz.发现Perl 5这并不是他想的东西,所以他放弃了把Perl当作一个面向对象的脚本语言使用的念头。...

    perl发送html邮件

    利用perl脚本发送邮件的时候,有时候需要使用html格式,此脚本就是利用perl发送html邮件的一个例子

    opener_server标准的perl实现opener_server.pl.zip

    并把它挂到某个端口与域名上注入一段代码,直接在opener_server的perl环境里运行从远端的http服务器上取回一段代码,,直接在opener_server的perl环境里运行启动一个新perl进程,直接执行一段脚本内容。启动一个新...

    mr_python:用于 Crossbow 预处理阶段的 python MR 脚本

    提供的Python脚本采用 MR 风格,这意味着与 Crossbow 的并行性较差的Perl脚本相比,它们以大规模并行方式执行。 大规模并行的代价是FASTQ数据的要求是: BZIP2存档,因为bzip2提供了可拆分的存档格式,但任何其他...

    Advanced Bash-Scripting Guide <>

    在Perl 脚本中使用eval 命令来强制变量替换 11-15. 使用set 来改变脚本的位置参数 11-16. 重新分配位置参数 11-17. Unset 一个变量 11-18. 使用export 命令传递一个变量到一个内嵌awk 的脚本中 11-19. 使用getopts ...

    udp-proto-scanner:udp-proto-scanner是一个Perl脚本,它通过将触发器发送到主机列表来发现UDP服务。

    UDP协议扫描器 另请参阅: : udp-proto-scanner.pl通过将UDP探测(来自udp-proto-scanner... 或者,在LAN上,您可能想要一种快速的方法来查找所有TFTP服务器。 并非所有的UDP服务都可以通过这种方式发现(例如,除非

    基于Python_脚本CGI、特点、应用、开发环境(详解)

    CGI程序可以是Python脚本、Perl脚本、Shell脚本、C或者C++程序等。 服务器 在你进行CGI编程前,确保您的Web服务器支持CGI及已经配置了CGI的处理程序。 所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个...

    Ruby程序设计(简洁清新的教程)

    随后的一段时间,他到网络上搜集了一些相关的资料,并且发现了 Perl 5,当时Perl 5还没有发布。通过一段时间了解后,Matz.发现Perl 5 这并不是他想的东西,所以他放弃了把Perl 当作一个面向对象的脚本语言使用的念头...

    Advanced Find and Replace 7

    Advanced Find and Replace 是一个功能超强的文本查找和替换工具。...其它的功能比如:可以使用 Perl 风格的正则表达式,支持命令行参数,可以用 XML 保存结果,可以将 Perl 脚本转换到 Unix 平台。

    Advanced Find and Replace

    一个功能超强的文本查找和替换工具。它可以使用类似于搜索引擎的查询方式在多个 文档中搜索和替换整段文本! 你可以使用不同的扩展名过滤要搜索的...保存结果,可以将 Perl 脚本转换到 Unix 平台。 2.0中文绿色正式版

    pirateget:Piratebay 备份脚本

    PB 存档脚本这是位于 Pirate Bay 档案的 Karel Bílek 脚本的最新分支前段时间,我做了一个实验,在保留重要信息的同时,我可以把 ThePirateBay 做得多小。 人们显然喜欢它。 好吧,现在几个月后,我想做两件事——...

    NextGenerationSequencing:构建一个流程以基于R,Perl和Python分析NGS数据

    Perl 5v22 R 2.3 NGS分析中的工作流程 描述 码 描述 extractLargeData.pl 根据策略提取配对的读段。 输入是由领结程序从对齐的SAM分割的文件(由于内存的限制)。 getLargeData.pl 从所有分割的文件中统计每个...

    bpj-old-pandoc-scripts:用于 pandoc **DEPRECATED** 的脚本和过滤器(请参阅新的 repo!)

    脚本下面的列表是通过提取每个脚本的 Pod 文档的DESCRIPTION部分中的第一段自动生成的,或者如果没有这样的段落,则插入一个注释,说明文档仍待编写。 (这可能是不准确的,因为我仍在清理我之前尝试自动化文档更新...

    Pragmatic - From Java to Ruby jun 2006

    再说,即便是操作系统,最简单的指令多个执行,最终是不是还不如自己积累最严谨的语言,写好并调试好一段Shell来执行更保险呢? 而脚本语言始终还是有一些做不到的地方,工业级的应用,经历了那么多年的洗练。 远程...

    基于原生PHP7.4编写的动态博客系统,大二PHP动态网页设计期末作品,包含SQL脚本与数据库文件。.zip

    PHP(全称:PHP: Hypertext Preprocessor)是一种广泛应用于Web开发的开源脚本语言,以其易学易用、高效灵活的特性深受广大开发者喜爱。诞生于1995年,由Rasmus Lerdorf创建,PHP最初用于简单的网页动态处理,如今已...

    Linux高级bash编程

    在Perl脚本中使用eval命令来强制变量替换 11-15. 使用set来改变脚本的位置参数 11-16. 重新分配位置参数 11-17. Unset一个变量 11-18. 使用export命令传递一个变量到一个内嵌awk的脚本中 11-19. 使用getopts命令来...

Global site tag (gtag.js) - Google Analytics