perl 里的<>和<STDIN>
2013-09-18 13:58
274 查看
首先介绍一下@ARGV:
当perl脚本运行时,从命令行上传递给它的参数存储在内建数组@ARGV中,@ARGV是PERL默认用来接收参数的数组,可以有多个参数,$ARGV[0]是表示接收到的第一个参数,$ARGV[1]表示第二个。
<>操作查看@ARGV来决定使用哪些文件。如果表为空,则使用标准输入流;否则,使用其找到的相应文件。也就是,在启动程序后,使用<>之前,你还有机会修改@ARGV的值。例如,下面程序可以处理3 个指定的文件,无论用户在命令行中输入了什么其它的文件:
@ARGV = qw# larry mor curly #; #强制使用这三个文件
while(<>){
chomp;
print “It was $_ that I saw in some stooge-like file!\n”;
}
#! /usr/bin/perl -w
while(<STDIN>) {
print;
}
=======================
#! /usr/bin/perl -w
while(<>) {
print;
}
角符 <> 和 <STDIN> 最大的不同是 <STDIN> 是由標準輸入取得資料,但:角符 <> 可以由指定的檔案取得資料,而該檔案檔名可以放在命令列中加以指定。如下例:
#! /usr/bin/perl
while (<>) {
print;
}
# 上式存成 readfile.pl,執行法:
./readfile.pl index.html
即可將 index.html 這個檔案讀進來,並且顯示每一列的內容。
若 ./readfile 沒有任何檔案,則改由標準輸入來取得資料,此時,就和 <STDIN> 作用相同了。
==========================================================================
#! /usr/bin/perl -w
print <>; ### 相当于cat
print sort <>; ###相当于sort;
当perl脚本运行时,从命令行上传递给它的参数存储在内建数组@ARGV中,@ARGV是PERL默认用来接收参数的数组,可以有多个参数,$ARGV[0]是表示接收到的第一个参数,$ARGV[1]表示第二个。
<>操作查看@ARGV来决定使用哪些文件。如果表为空,则使用标准输入流;否则,使用其找到的相应文件。也就是,在启动程序后,使用<>之前,你还有机会修改@ARGV的值。例如,下面程序可以处理3 个指定的文件,无论用户在命令行中输入了什么其它的文件:
@ARGV = qw# larry mor curly #; #强制使用这三个文件
while(<>){
chomp;
print “It was $_ that I saw in some stooge-like file!\n”;
}
#! /usr/bin/perl -w
while(<STDIN>) {
print;
}
=======================
#! /usr/bin/perl -w
while(<>) {
print;
}
角符 <> 和 <STDIN> 最大的不同是 <STDIN> 是由標準輸入取得資料,但:角符 <> 可以由指定的檔案取得資料,而該檔案檔名可以放在命令列中加以指定。如下例:
#! /usr/bin/perl
while (<>) {
print;
}
# 上式存成 readfile.pl,執行法:
./readfile.pl index.html
即可將 index.html 這個檔案讀進來,並且顯示每一列的內容。
若 ./readfile 沒有任何檔案,則改由標準輸入來取得資料,此時,就和 <STDIN> 作用相同了。
==========================================================================
#! /usr/bin/perl -w
print <>; ### 相当于cat
print sort <>; ###相当于sort;
相关文章推荐
- perl 里的<>和<STDIN>
- <数据结构与算法分析 C++描述>算法分析之最大子序列和问题
- 他のJSPページを読み込む<bean:include>
- <备份>0924 find 与 特殊权限
- 【2015/11/15】 数据结构学习日志_Day16 链表 我的<LinkList.c>
- <!-- --> 与 <%-- --%>区别!!
- java字符串转义,把<>转换成<>等字符【原】
- <转>maven中跳过单元测试
- <摘>IOS、Android自动化测试框架Appium概述
- Struts2通配符映射/Struts <action name="/*/*" method="{2}" class="com.jxc.action.{1}Action"> <result
- asp.net 字符替换 <: &lt; >: &gt; &: &amp;
- <LeetCode OJ> 58. Length of Last Word
- 第九周项目二 Time类中的运算符重载(续)(2)定义Time类的>>和<<
- <C++Primer>第四版 阅读笔记 第三部分 “类和数据抽象”
- <context:component-scan>使用说明
- <响应式布局>5---设计流程
- <%@ taglib uri="http://jakarta.apache.org/taglibs/i18n" prefix="i18n" %>错误提示:找不到标签库
- Struts中的<bean:message/>出现乱码
- jstl中的<fmt:formatNumber>标签
- <global-exceptions />配置详解 (转)