在哈希中添加''围绕所有值

Pin*_*ade 3 string perl

我试图用单引号括起我的哈希值中的所有值.这是我的代码.

    foreach(values(%properties_hash))
    {
            print "'".$_."'\n";
    }
Run Code Online (Sandbox Code Playgroud)

现在我正在打印.我将如何实际增加价值.这也打印出来

'logs
'format/systemout-2010-format.txt
'analyze
Run Code Online (Sandbox Code Playgroud)

它只打印第一个'.那为什么会这样?

谢谢!

jm6*_*666 7

你的代码正在运行.

my %h = (
        'a' => 1,
        'b' => 2,
        'c' => 3,
        'd' => 4,
);

foreach(values(%h)) {
        print "'".$_."'\n";
}
Run Code Online (Sandbox Code Playgroud)

版画

'3'
'1'
'2'
'4'
Run Code Online (Sandbox Code Playgroud)

您的字符串可能以"\ r"结尾,因此结尾"'"打印在第一个""",因此看不到最后一个撇号.尝试:

foreach(values(%h)) {
        s/[\r\n]//g;
        print "'".$_."'\n";
}
Run Code Online (Sandbox Code Playgroud)

  • 我同意你的分析(+1),但如果问题在源头修复(即在被放入哈希之前)会更好. (4认同)