<>操作查看@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;
分享到:
相关推荐
比如,程序 `myProgram` 使用 `while (defined($line = <>))` 从文件中读取,当你在命令行运行 `perl myProgram file1 file2` 时,Perl会依次读取 `file1` 和 `file2` 的内容。如果没有提供文件参数,`<>` 默认会...
Perl语言提供了多种方式来获取用户输入,例如使用 `<STDIN>` 操作符来读取用户输入。例如,以下代码修改了上述程序,使用户可以在程序运行时输入半径: ```perl print "enter the radius of the circle\n"; chomp($r...
这里,`<STDIN>`从标准输入流读取一行输入,`chop`函数用于移除字符串末尾的换行符。变量`$name`用于存储用户的输入。 #### 5. 条件分支 进一步增强程序的功能,使其能够识别特定用户(例如,zmd)并给予特殊欢迎...
while (<>) { chomp; print "it was $_ that I saw in some stooge-like file!\n"; } ``` 这段代码首先初始化`@ARGV`数组,然后通过`while`循环读取输入,并打印每个输入行。 ### 处理文件 #### 打开文件 在Perl...
- **标准输入**: 在Perl中,标准输入通常通过`<STDIN>`来表示。例如,读取一行输入并存储到变量`$var`中,可以使用以下代码: ```perl $var = <STDIN>; # 读取一行输入,并存入变量$var中。 ``` 如果需要读取...
- 使用`<STDIN>`从标准输入获取一行文本。 - 使用`chop()`函数去除末尾的换行符。 - **代码示例**: ```perl #!/usr/bin/perl printf "请问您的姓名? "; $name = <STDIN>; chop($name); printf "你好, $name,...
chomp(my $radius = <STDIN>); # 检查半径是否有效 if ($radius < 0) { print "周长为0\n"; } else { my $circumference = 2 * $pi * $radius; printf "周长为: %.1f\n", $circumference; } ``` ### 2. 输入两...
- 在Perl中,标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)分别用`<STDIN>`、`<STDOUT>`和`<STDERR>`表示。读取标准输入通常使用`<>`操作符。例如,`$var=<STDIN>`会读取一行输入并存入变量`$var...
在C语言中,我们使用`scanf`和`printf`进行输入和输出,而在Perl中,标准输入用`<STDIN>`表示,标准输出用`print`,标准错误输出用`STDERR`。 输入操作在Perl中可以通过以下方式完成: - `my $var = <STDIN>;` 用于...
- `<STDIN>` 用于从标准输入获取用户输入。 6. **正则表达式八大原则** - 原始匹配:匹配模式的开始和结束。 - 重复:`*`, `+`, `?`等符号表示零次、一次或多次匹配。 - 选择:`|` 符号表示或的关系,匹配任何...
- `defined`:检查 `<STDIN>` 的返回值是否有效。 - 示例代码: ```perl $madonna = <STDIN>; if (defined($madonna)) { print "The input was $madonna"; } else { print "No input available!\n"; } ```...
Hadoop Streaming是一个强大的工具,它允许用户使用任何可执行文件(如Python脚本、Perl或Bash shell命令)作为MapReduce任务的Mapper和Reducer。这个技术使得非Java开发者也能利用Hadoop的大数据处理能力。在本文中...
- 读取文件通常使用`<>`操作符或`readline`函数。 - 关闭文件使用`close`函数。 #### 分割字符串 - `split`函数用于将字符串分割成数组。例如:`my @words = split(/ /, $string);` #### 读取文本文件 - 读取...
12. **while控制结构**: 用于循环,如`while ($line = <STDIN>) { ... }`会持续读取标准输入,直到没有更多输入。 13. **undef值**: 表示未定义或无值的状态。你可以用`undef $variable`来清除变量的值。 14. **...
1 while s/<[^<>]+>//g; s/\s+//g; s/ //g; print "-" x 50, "\n"; print $_, ""; for my $line (1 .. 13) { $_ = <$io>; chomp; 1 while s/<[^<>]+>//g; s/\s+//g; s/ //g; s/\s+//g; print...
5. 输入:可以使用 `<STDIN>` 从标准输入读取数据,或者使用 `<>` 操作符从文件中读取。 四、控制结构 1. 条件语句:`if`、`unless`(相当于 `if not`)、`elsif` 用于条件判断。 2. 循环:`while`、`for` 用于循环...
10. **文件和目录操作**:`<filehandle>` 用于打开和读取文件,`<*>` 通配符可以用于匹配多个文件,`<STDIN>`, `<STDOUT>`, 和 `<STDERR>` 分别代表标准输入、输出和错误流。`mkdir()`, `rmdir()`, `rename()`, `...
通过使用管道(pipe)进行通信,可以将Python的数据流导向Perl的stdin,反之亦然。管道是一种操作系统级别的特性,允许一个进程的输出直接连接到另一个进程的输入,从而实现进程间的通信。 接下来,数据在Perl和...