考虑:
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 -v
和my 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_file
,my name
和id
。我该如何解决?
答案 0 :(得分:2)
您的问题是,当您需要使用==
运算符时,您正在使用eq
运算符来比较两个字符串。
$ perl -e 'print q{<}, "a" == "b", q{>}, "\n";'
<1>
如果使用eq
运算符,它将返回一个空字符串,该字符串为false值。
$ perl -e 'print q{<}, "a" eq "b", q{>}, "\n";'
<>