`
anson_xu
  • 浏览: 514532 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类

perl 里的<>和<STDIN>

    博客分类:
  • php
 
阅读更多
<>操作查看@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语言程序设计:第4章 输入输出与文件目录.ppt

    比如,程序 `myProgram` 使用 `while (defined($line = &lt;&gt;))` 从文件中读取,当你在命令行运行 `perl myProgram file1 file2` 时,Perl会依次读取 `file1` 和 `file2` 的内容。如果没有提供文件参数,`&lt;&gt;` 默认会...

    Perl语言入门习题答案

    Perl语言提供了多种方式来获取用户输入,例如使用 `&lt;STDIN&gt;` 操作符来读取用户输入。例如,以下代码修改了上述程序,使用户可以在程序运行时输入半径: ```perl print "enter the radius of the circle\n"; chomp($r...

    Perl语言循序渐进学习

    这里,`&lt;STDIN&gt;`从标准输入流读取一行输入,`chop`函数用于移除字符串末尾的换行符。变量`$name`用于存储用户的输入。 #### 5. 条件分支 进一步增强程序的功能,使其能够识别特定用户(例如,zmd)并给予特殊欢迎...

    perl收集整理收集整理收集整理

    while (&lt;&gt;) { chomp; print "it was $_ that I saw in some stooge-like file!\n"; } ``` 这段代码首先初始化`@ARGV`数组,然后通过`while`循环读取输入,并打印每个输入行。 ### 处理文件 #### 打开文件 在Perl...

    Perl 的 简单语法

    - **标准输入**: 在Perl中,标准输入通常通过`&lt;STDIN&gt;`来表示。例如,读取一行输入并存储到变量`$var`中,可以使用以下代码: ```perl $var = &lt;STDIN&gt;; # 读取一行输入,并存入变量$var中。 ``` 如果需要读取...

    还不错的perl初级教程

    - 使用`&lt;STDIN&gt;`从标准输入获取一行文本。 - 使用`chop()`函数去除末尾的换行符。 - **代码示例**: ```perl #!/usr/bin/perl printf "请问您的姓名? "; $name = &lt;STDIN&gt;; chop($name); printf "你好, $name,...

    perl第五版课后习题代码

    chomp(my $radius = &lt;STDIN&gt;); # 检查半径是否有效 if ($radius &lt; 0) { print "周长为0\n"; } else { my $circumference = 2 * $pi * $radius; printf "周长为: %.1f\n", $circumference; } ``` ### 2. 输入两...

    Perl的简单语法.doc

    - 在Perl中,标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)分别用`&lt;STDIN&gt;`、`&lt;STDOUT&gt;`和`&lt;STDERR&gt;`表示。读取标准输入通常使用`&lt;&gt;`操作符。例如,`$var=&lt;STDIN&gt;`会读取一行输入并存入变量`$var...

    Perl的简单语法(与C语言语法的异同)

    在C语言中,我们使用`scanf`和`printf`进行输入和输出,而在Perl中,标准输入用`&lt;STDIN&gt;`表示,标准输出用`print`,标准错误输出用`STDERR`。 输入操作在Perl中可以通过以下方式完成: - `my $var = &lt;STDIN&gt;;` 用于...

    Perl中的正则表达式.pdf

    - `&lt;STDIN&gt;` 用于从标准输入获取用户输入。 6. **正则表达式八大原则** - 原始匹配:匹配模式的开始和结束。 - 重复:`*`, `+`, `?`等符号表示零次、一次或多次匹配。 - 选择:`|` 符号表示或的关系,匹配任何...

    perl 语言学习笔记

    - `defined`:检查 `&lt;STDIN&gt;` 的返回值是否有效。 - 示例代码: ```perl $madonna = &lt;STDIN&gt;; if (defined($madonna)) { print "The input was $madonna"; } else { print "No input available!\n"; } ```...

    Hadoop Streaming程序实例

    Hadoop Streaming是一个强大的工具,它允许用户使用任何可执行文件(如Python脚本、Perl或Bash shell命令)作为MapReduce任务的Mapper和Reducer。这个技术使得非Java开发者也能利用Hadoop的大数据处理能力。在本文中...

    神奇的perl-最佳Perl入门

    - 读取文件通常使用`&lt;&gt;`操作符或`readline`函数。 - 关闭文件使用`close`函数。 #### 分割字符串 - `split`函数用于将字符串分割成数组。例如:`my @words = split(/ /, $string);` #### 读取文本文件 - 读取...

    perl个人学习笔记

    12. **while控制结构**: 用于循环,如`while ($line = &lt;STDIN&gt;) { ... }`会持续读取标准输入,直到没有更多输入。 13. **undef值**: 表示未定义或无值的状态。你可以用`undef $variable`来清除变量的值。 14. **...

    Perl用Post方法从新浪查天气

    1 while s/&lt;[^&lt;&gt;]+&gt;//g; s/\s+//g; s/&nbsp;//g; print "-" x 50, "\n"; print $_, ""; for my $line (1 .. 13) { $_ = &lt;$io&gt;; chomp; 1 while s/&lt;[^&lt;&gt;]+&gt;//g; s/\s+//g; s/&nbsp;//g; s/\s+//g; print...

    Perl语言入门 教程

    5. 输入:可以使用 `&lt;STDIN&gt;` 从标准输入读取数据,或者使用 `&lt;&gt;` 操作符从文件中读取。 四、控制结构 1. 条件语句:`if`、`unless`(相当于 `if not`)、`elsif` 用于条件判断。 2. 循环:`while`、`for` 用于循环...

    Perl5程序设计.rar

    10. **文件和目录操作**:`&lt;filehandle&gt;` 用于打开和读取文件,`&lt;*&gt;` 通配符可以用于匹配多个文件,`&lt;STDIN&gt;`, `&lt;STDOUT&gt;`, 和 `&lt;STDERR&gt;` 分别代表标准输入、输出和错误流。`mkdir()`, `rmdir()`, `rename()`, `...

    Perl2Py:我写了一对简短的脚本,这些脚本使用'subprocess'从Python内部调用perl脚本。 接受可选的输入参数,然后通过管道传输STDIN和STDOUT来运行perl脚本。 数据从perl转换为JSON,然后从JSON转换为python

    通过使用管道(pipe)进行通信,可以将Python的数据流导向Perl的stdin,反之亦然。管道是一种操作系统级别的特性,允许一个进程的输出直接连接到另一个进程的输入,从而实现进程间的通信。 接下来,数据在Perl和...

Global site tag (gtag.js) - Google Analytics