Contributed by Anonymous Monk
on Sep 14, 2000 at 06:54 UTC
Q&A
> strings
Answer: How do I concatenate a string? contributed by davido For simple concatenation,
my $foo = "Foo";
my $bar = "Bar";
my $string = $foo . $bar;
# $string contains "FooBar".
For concatenating the new string to the end of the existing string (appending):
my $foo = "Foo";
my $bar = "Bar";
$foo .= $bar;
# $foo now contains "FooBar"
For concatenating multiple strings all at once, use join. Join is (according to the Camel book) the most efficient way to concatenate many strings together. Join can be used with a delimiter, or with a null string as the delimiter, so that nothing is inserted between the strings that are joined (concatenated) together.
my $this = "This";
my $that = "That";
my $the = "The";
my $other = "Other";
my $string = join "", $this, $that, $the, $other;
# $string now contains "ThisThatTheOther".
Join can do a lot more than just simple concatenation. Whatever you put between the quotes will be inserted between the strings that are being joined together. Also, join can accept not just a list of scalar variables, but also an array, or a list of literal strings.
| Answer: How do I concatenate a string? contributed by toolic Interpolation using double quotes, for example,
(see Quote and Quote like Operators)
can be used to concatenate 2 (or more) scalar variables
into a 3rd scalar variable:
my $s1 = 'Perl';
my $s2 = 'Monks';
my $s3 = "$s1$s2";
print "$s3\n";
# $s3 contains 'PerlMonks'
or using this syntax:
my $s3 = "${s1}${s2}";
Interpolation of array variables can also be performed
to concatenate all element of the array into a string. It is
necessary to unset the LIST_SEPARATOR ($")
special variable, and it is good practice to localize this change to its
own block:
{
undef $";
my @strs = 'a' .. 'e';
my $s4 = "@strs";
print "$s4\n";
# $s4 contains 'abcde'
}
|
Please (register and) log in if you wish to add an answer
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
|
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
|
Log In?
|
|
Chatterbox?
|
How do I use this? | Other CB clients
|
Other Users?
|
Others browsing the Monastery: (5) As of 2021-02-27 19:01 GMT
|
Sections?
|
|
Information?
|
|
Find Nodes?
|
|
Leftovers?
|
|
Voting Booth?
|
No recent polls found
|
Notices?
|
|
|