gpt4 book ai didi

perl - 为 Perl 脚本传递命令行参数以及来自 STDIN 的输入?

转载 作者:行者123 更新时间:2023-12-03 02:03:08 25 4
gpt4 key购买 nike

我有一个 Perl 脚本,它同时接受命令行参数和 STDIN

#!/usr/bin/perl -w
use strict;
use warnings;

my $logpath = $ARGV[0];
print "logpath : $logpath\n";

print "Name : ";
my $name = <>;
chomp($name);
print "my name is $name\n";

它不会在标准输入输入处停止。适用于命令行或标准输入中的任何一种,但不适用于两者。

有什么理由吗?

最佳答案

改变

my $name = <>;

my $name = <STDIN>;

如果@ARGV没有元素,那么菱形运算符将从 STDIN 读取但在您的情况下,由于您通过命令行传递参数, @ARGV不会为空。因此,当您使用菱形运算符<>时要读取名称,将读取在命令行中指定名称的文件的第一行。

关于perl - 为 Perl 脚本传递命令行参数以及来自 STDIN 的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com