如何在Perl中使用'if'语句?

时间:2015-05-29 04:28:19

标签: perl

考虑:

max-width: 1000px;

在这种情况下,我想要的是当我运行#!/usr/bin/perl if ($ARGV[0]=="-v") { print "MY name: abc\n"; print "MY student ID:111110\n"; } if ($ARGV[0]=="-s" && $ARGV[1]==printing_usage_file) { open (INFILE, $ARGV[1]) or die "An input file is required as argument\n"; $totalbytes=0; $data=""; while(<INFILE>) { chomp(); @data=split(/,/); $totalbytes += $data[1]; } print "Total number of bytes printed: $totalbytes\n"; } 时,它会打印./perl.pl -vmy name

当我运行id时,会打印./perl.pl -s printing_usage_file

但是,当我运行totalbytes(printing_usage_file file is list like:aaa,240,ccc)/perl.pl -v时,它会打印./perl.pl -s printing_usage_filemy nameid。我该如何解决?

1 个答案:

答案 0 :(得分:2)

您的问题是,当您需要使用==运算符时,您正在使用eq运算符来比较两个字符串。

$ perl -e 'print q{<}, "a" == "b", q{>}, "\n";'
<1>

如果使用eq运算符,它将返回一个空字符串,该字符串为false值。

$ perl -e 'print q{<}, "a" eq "b", q{>}, "\n";'
<>