perl - Perl 中的 "Use of uninitialized value in scalar chomp"

标签 perl chomp

运行脚本时出现以下错误:有人可以帮助我吗

Use of uninitialized value $user in scalar chomp at ./temp.pl line 38, <DATA> line 558.
Use of uninitialized value $modelName in scalar chomp at ./temp.pl line 39, <DATA> line 558.
Use of uninitialized value $Application in scalar chomp at ./temp.pl line 40, <DATA> line 558.
Use of uninitialized value $user in string eq at ./temp.pl line 42, <DATA> line 558.

代码如下,有人可以帮助我吗:

my ($user) = $ARGV[0];
my ($modelName) = $ARGV[1];
my ($Application) = $ARGV[2];

chomp($user);
chomp($modelName);
chomp($Application);

if ( ($user eq "") || ($modelName eq "") || ($Application eq "")) {
  &usage;
}

sub usage {
  print "\tUsage : $0 User ModelName Application\n";
  exit (1);
}

最佳答案

程序需要命令行上的参数 - 用户、型号名称和应用程序,但您没有提供任何参数

无需chomp从命令行传递的值,因为它永远不会以新行结束

你的代码最好这样写

usage() unless @ARGV == 3;

my ($user, $modelName, $Application) = @ARGV;

关于perl - Perl 中的 "Use of uninitialized value in scalar chomp",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11822049/

相关文章:

javascript - jquery、javascript - 如何从变量中删除此参数

perl - 什么时候使用 chomp?

perl - 关于 chomp 的澄清

java - 使用 RegEx 查找两个 XML 标记之间的所有内容

perl - 如何在 Perl 中将 "image"标签添加到 mp3 文件

multithreading - Perl 线程中的垃圾收集

perl - 使用 chomp() 时打印失败

ruby - 如果没有该特定行,我的代码将无法工作。为什么?

python - 如何删除字符串中的前导零和尾随零? Python

linux - 是否可以使用 Linux sort 命令按每行末尾的数字对巨大的文本文件进行排序?