【问题标题】:Perl :Print values in perl with specific words in values for the keyPerl:在 perl 中打印值,并在键的值中使用特定的单词
【发布时间】:2014-11-20 09:05:44
【问题描述】:

我有一个包含以下值的哈希。每个键都有多个 (2) 值。

my %output = ( "projectA" => [ "Compliant files excl rules: 456 - 76%
                              Noncompliant files excl rules 142 - 24% " , 
                             "Compliant files incl rules: 2910 - 84% 
                              Noncompliant files incl rules: 572 - 16%" ], 
              "projectB" =>  [ "Compliant files excl rules: 345 - 72%
                              Noncompliant files excl rules 123 - 32% " , 
                             "Compliant files incl rules: 1234 - 98% 
                              Noncompliant files incl rules: 232- 10%" ] );

所以当我打印它(当前输出)时,如下所示

Project  Excluding rules                               Including rules
----------------------------------------------------------------------------------------
ProjectA Compliant file excl rules: 456 -76%    Compliant files incl rules: 2910 - 84% 
         Noncompliant files excl rules: 142-24%  Noncompliant files incl rules:572 - 16%   
ProjectB Compliant files excl rules: 345 - 72%  Compliant files incl rules: 1234 - 98%
         Noncompliant files excl rules: 123 - 32% Noncompliant files incl rules: 232- 10%

*Desired Output * 如果没有 excl rulesincl rules 字样,如何打印它们。我不想为每个项目重复它们,因为我已经在标题中提到了。

Project  Excluding rules                               Including rules
----------------------------------------------------------------------------------------
ProjectA Compliant files: 456 -76%                 Compliant files: 2910 - 84% 
         Noncompliant files: 142-24%               Noncompliant files:572 - 16%   
ProjectB Compliant files: 345 - 72%                Compliant files : 1234 - 98%
         Noncompliant files:123 - 32%              Noncompliant files: 232- 10%

我用来打印它们的当前代码是:

my $key;
foreach $key (sort keys %output) {
$html .= "<tr><td>$key</td>";
    $html .= "<td>$_</td>" for @{ $output{$key} };
    $html .= " </tr>";
}

【问题讨论】:

    标签: perl hash printing key-value-store


    【解决方案1】:

    改变这一行:

    $html .= "<td>$_</td>" for @{ $output{$key} };
    

    for (@{ $output{$key} }) {
        s/ (ex|in)cl rules//g;
        $html .= "<td>$_</td>";
    

    }

    【讨论】:

    • 它没有用。 column2 和 column3 中的内容没有全部打印出来。
    猜你喜欢
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 2022-06-27
    • 1970-01-01
    • 2018-07-04
    • 2012-08-10
    • 2016-01-18
    • 2013-06-24
    相关资源
    最近更新 更多