argv-初次接触perl脚本,请问下面的代码怎么理解

问题描述

初次接触perl脚本,请问下面的代码怎么理解
#!/usr/local/bin/perl

$pattern=$ARGV[0];
$count=$pattern=~s/(?<[^>]*>)//g;
@ARGV=qw# #;
$print='print ""';

解决方案

#!/usr/local/bin/perl 这句如同*nix操作系统中用来指定脚本解释程序的位置。/usr/local/bin/perl是Perl语言的脚本解释器程序。
$pattern=$ARGV[0]; $pattern 是一个标量变量( scalar variable) @ARGV 是一个预定义数组变量,包含运行脚本时从命令行传送来的参数。 $ARGV[0] 是访问第一个数组元素,也就是第一个命令行参数。
$count=$pattern=~s/(?<[^>]*>)//g; s/(?<[^>]*>)//g 是模式替换表达式, 意思是替换形如 ?< some thing > 的字符串。 $pattern =~ $pattern=~s/(?<[^>]*>)//g 会返回$pattern中山相应模式的数目。还会把$pattern中匹配的内容变成空(也就是删除)。
@ARGV=qw# #; qw# # 代表一个空列表。 @ARGV = qw# # 把 @ARG赋值成空列表。
$print='print ""'; 给 $print赋值 print ""这个字符串。
这个脚本看似简单,其实包含了Perl语言中大量的概念。你得从基础学起吧。如果没有特别需要Perl的地方,建议不要学习Perl你会觉得相当凌乱。
但如果真学进去了,功能相当强大。

时间: 2024-08-10 02:23:21

argv-初次接触perl脚本,请问下面的代码怎么理解的相关文章

刚接触IO流有一段代码不理解求大神给我说明一下

问题描述 刚接触IO流有一段代码不理解求大神给我说明一下 红色框框标记的是不明白的. 再次表示感谢! 解决方案 Java 下 IO 中Reder 和 InputStream 分别是以字符和字节的形式来完成数据的读取的,然而返回值确是 int 类型的数据,这样做的核心目的只是要取到到一个 int 类型下的 -1 来表示数据流的末尾. 此次使用的read(b,0,512)是将文件中的数据读取到字节缓冲区b中,并返回读取到的字节的总数.循环读取文件内容到缓冲区,并写入另一个文件中.循环处理直到到达读取

web前端-前辈,请问下面的代码怎么解释?

问题描述 前辈,请问下面的代码怎么解释? 前辈 请问下面的代码怎么解释? 原地址http://www.w3school.com.cn/tiy/t.asp?f=jquery_parent <!DOCTYPE html> <html> <head> <style> .ancestors * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin:

Perl脚本检测一个域名是否有效_perl

脚本功能:通过ICMP Ping或TCP/SYN探测指定的域名,探测前检测域名是否有效. file: check.host.pl #!/usr/bin/perl use strict; use Net::Ping; use Net::DNS; use Time::HiRes qw(); $| = 1; my $DEFAULT_TIMEOUT = 2; my $PING_TIMEOUT = 2; my $DNS_TIMEOUT = 3; ### 查询域名是否有效 sub queryDomain {

初次接触:DirectDraw

第六章 初次接触:DirectDraw 本章,你将初次接触DirectX中最重要的组件:DirectDraw.DirectDraw可能是DirectX中最强大的技术,因为其贯穿着2D图形绘制同时其帧缓存层也是DirectX3D的基础.当然,DirectX8.0中DirectDraw已经完全集成到了DirectX3D里面.此外,如果你对DirectDraw深有了解,那将拥有创建任何DOS16/32类型的图形化程序的能力.DirectDraw是理解众多DirectX自身概念的钥匙.所以,听仔细了.

Perl 脚本的特点

        本章介绍如何使用Perl DBI 与MySQL接口.我们不讨论DBI 的基本原理或体系结构.有关DBI 这些方面的信息(特别是与C 和PHP API 的比较),请参阅第5 章.    本章的举例动用了样例数据库samp_db,使用了学分保存方案和历史同盟需要的表.想要从本章中取得最大收获,最好了解一些有关Perl 的知识.如果不想这样,那么通过拷贝这里看到的样例代码,也能有所帮助,并可以编写自己的脚本,不过找一本好的Perl 书,可能仍是一件非常有价值的投资.有这样一本书,名为<

perl脚本备份还原sql server

写了一个perl脚本灵活来备份或还原. 1.将config.txt保存到c盘根目录 username:sa password:passwd123! 根据实际情况修改该文件内容 2.执 行bcp.pl #!C:\Perl64\bin #通过BCP备份和还原SQLSERVER指定的表 use 5.014; #加载用户和密码配置文 件 my $username ; my $passwd; ##获取用户名 my $dir="c:"; $dir=$dir."/"; my $f

crontab不执行perl脚本分析

在新装的Linux服务器上部署了一个作业监控磁盘空间并提前告警,在shell脚本里面调用了一个perl脚本发送告警邮件.结果出现了一个很奇怪的现象:如 果手工执行该脚本/home/oracle/scripts/disk_capatiy_alarm.sh能发出告警邮件,但是在crontab里面发现 脚本没有发出告警邮件.检查了/var/log/cron后发现该作业执行了.最后发现shell执行了,但是perl脚本没有执行.搜索了相关资料后, 了解到一般出现这种情况要么是因为环境变量,要么是因为使用

pb9刚接触,请问这段代码要怎样操作???望大神指点

问题描述 pb9刚接触,请问这段代码要怎样操作???望大神指点 alter table tbw_wh_info add c_wh_type varchar NULL GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库类型(分仓,总仓)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'tbw_wh

Perl脚本实现递归遍历目录下的文件_perl

#!/usr/bin/perl -w use strict; use File::Spec; local $\ ="\n";#当前模块的每行输出加入换行符 my %options; #目录路径 $options{single_case} = '/home/jiangyu/src/pl/Example'; my @cases; if (-d $options{single_case}) {#判断目录是否存在 my @files; my $dh; push(@files, $options