我有下列程序“Extract.pl”,它打开一个文件,找到包含“警告....”,“信息...”,“禁用..”的行。 。“然后计数并打印它们的值和数量。它工作正常。在Perl中显示并传递命令行参数
我想要做的是为3个匹配项中的每一个创建命令行参数 - 警告,禁用和infos,然后从命令提示符运行其中任何一个。
下面是代码:
#!/usr/bin/perl
use strict;
use warnings;
my %warnings =();
my %infos =();
my %disablings =();
open (my $file, '<', 'Warnings.txt') or die $!;
while (my $line = <$file>) {
if($line =~ /^warning ([a-zA-Z0-9]*):/i) {
++$warnings{$1};
}
if($line =~ /^disabling ([a-zA-Z0-9]*):/i) {
++$disablings{$1};
}
if($line =~ /^info ([a-zA-Z0-9]*):/i) {
++$infos{$1};
}
}
close $file;
foreach my $w (sort {$warnings{$a} <=> $warnings{$b}} keys %warnings) {
print $w . ": " . $warnings{$w} . "\n";
}
foreach my $d (sort {$disablings{$a} <=> $disablings{$b}} keys %disablings) {
print $d . ": " . $disablings{$d} . "\n";
}
foreach my $i (sort {$infos{$a} <=> $infos{$b}} keys %infos) {
print $i . ": " . $infos{$i} . "\n";
}
你忘了问一个问题。你有什么试图读取命令行参数?如何失败?通过一个简单的谷歌搜索,我甚至可以在SO上找到数百万个好阅读,包括'getopt'。 – memowe
是的,我会试试看。我一直在阅读关于命令行参数的很多内容,发现了一些例子,但仍然无法在我的代码中实现它们。我一直在学习编程和perl的最新数据,我只是在寻求帮助。谢谢。 “ – TheBlackCorsair
”从命令提示符运行其中任何一个。“没有意义。要么? – ikegami