Perl:使用换行符打印哈希值

时间:2014-09-19 19:24:48

标签: perl hash newline

我有一个哈希。散列中键的值是2个字符串的串联。 ($value1 and $value2
当我打印连接变量$values的值时,它会打印换行符。
但是当我以html表格式打印时,换行符不存在。如何保留换行符。

 my $value1 = "Good files are 272 :10%";
 my $value2 = "Bad files are 300 : 15%";
 my $values = $value1 . $value2; 
 print "values : $values ";

 # HASH with multiple values for each key
 my %hash ;
 $keyvalue = "foobar";
 $hash{$keyvalue} =  $values ;     

# SET UP THE TABLE
print "<table border='1'>";
print "<th>Category</th><th>value</th>";    

#Print key and values in hash in tabular format
foreach $key (sort keys %hash) {
   print "<tr><td>".$key."</td>";
   print "<td>".$hash{$key}."</td>";
}

*当前输出:*
它打印哈希值而不使用换行符

values : Good files are 272 :10%
Bad files are 300 : 15%

Category Value
foobar   Good files are 272 :10%Bad files are 300 : 15%

*所需输出:*

 Category Value
 foobar   Good files are 272 :10%
          Bad files are 300 : 15%

1 个答案:

答案 0 :(得分:2)

在HTML中,您使用<br>元素创建新行。因此,只需进行搜索和替换 - 使用<br>替换输入中的所有换行符。

由于您要联接$value1$value2,您可以这样做:

$values = $value1 . '<br>' . $value2;