我有一个在提示符下输入的变量:

my $name = <>;

我想在此附加一个固定的字符串'_one' (在一个单独的变量中)。

例如,如果$name = Smith则它变成'Smith_one'

我尝试了几种不能给我正确结果的方法,例如:

my $one = "${name}_one";

^当我打印出来时, _one出现在下一行,当我使用它时,_one根本不包括在内。

也:

my $one = $name."_one";

^ '_one'出现在字符串的开头

和:

my $end = '_one';
my $one = $name.$end;
or 
my $one = "$name$end";

这些都没有产生我想要的结果,所以我必须遗漏一些与输入格式如何从提示格式相关的东西。 想法赞赏!

#1楼 票数:25 已采纳

您的问题与字符串追加无关:当您读取一行(例如,通过<> )时,记录输入分隔符将包含在该字符串中; 这通常是换行符\\n 要删除换行符, chomp变量:

    my $name = <STDIN>; # better use explicit filehandle unless you know what you are doing
    # now $name eq "Smith\n"
    chomp $name;
    # now $name eq "Smith"

要将变量插入到字符串中,通常不需要使用的${name}语法。 这些行都将_one附加到您的字符串并创建一个新字符串:

    "${name}_one"  # what you used
    "$name\_one"   # _ must be escaped, else the variable $name_one would be interpolated
    $name . "_one"
    sprintf "%s_one", $name
    # etc.

这会将_one附加到您的字符串并仍然将其存储在$name

    $name .= "_one"

  ask by dgBP translate from so

未解决问题?本站智能推荐:

4回复

附加到字符串变量[关闭]

如何将单词附加到已填充的带有空格的字符串变量中?
5回复

从文件中的特定字符串之后复制文本,并在perl中附加到另一个

我想从文件中提取所需的信息,并将其附加到另一个文件中。 第一个文件由一些行组成,没有特定的模式作为标题,并且仅以“ END OF HEADER”字符串结尾。 我编写了以下代码来查找标题结尾处的匹配行: ,但我不知道如何获取文件的其余部分并将其附加到另一个文件中。 感谢您的任何帮
6回复

将字符串附加到列表中的字符串

我正在阅读一张excel表: 现在我想创建一个列表,其中表中的每一行都是字符串。 另外我想在列表中的每个字符串的末尾添加一个'X': 一切都有效,除了“添加X”部分。 这导致: 但我想要的是: 先谢谢。
1回复

如何将标记附加到 C 中的字符串变量?

所以我有以下代码: 代码应该做的是,它应该将行中的第一个单词保存在“command”变量中,将行中的第二个单词保存在“id”变量中,并将其余单词保存在一个名为“名称”。 但目前它不能正常工作。 它的工作原理如下: 正确的输出应该如下: 我在循环中做错了什么吗? 如果是,可以改变什么?
1回复

将字符代码附加到字符串

我试图在字符串中添加空字符,但是找不到正确的语法。 我试过了: 和: 但这两个都给我一个错误。 通常,如何通过字符代码将字符添加到字符串?
1回复

如何将字符串/数字附加到字符串?

我有一个功能 我想在其中将变量currentLevel添加到字符串“ level”中,如objectForKey:@"level + STRING/NUMBER" 我怎么做 ?
9回复

将字符串附加到Matlab数组

如何将字符串附加到Matlab数组列? 这是我想要做的一小段代码片段:
5回复

c ++附加到字符串

有没有一种简单的方法可以将整数附加到字符串? 我有一个这样的 for 循环: 并且我需要获取相等的数组的索引,并且索引当然是整数类型。 但是当我这样做时,我收到一个错误: 有没有办法来解决这个问题?