双引号("")字符串能够内插其他变量。

    非内插字符串

    如果你不想要内插,那么使用单引号('')。

    或者,你也可以转义特殊字符(印记)。

    1. print "You may have won \$1,000,000";
    1. my $email = "andy@foo.com";
    2. print $email;

    这里的问题是 @foo 作为数组被内插了。如果你打开了 use
    warnings
    ,那么此类问题就很明显了:

    解决办法是,要么使用非内插的引号:

    1. my $email = 'andy@foo.com';
    2. my $email = q{andy@foo.com};

    要么转义 @

    1. my $email = "andy\@foo.com";

    使用 length() 获得字符串的长度

    1. my $str = "Chicago Perl Mongers";
    2. print length( $str ); # 20

    substr() 能够做各种字符串提取:

    关于字符串 vs. 数字不必担心太多

    不像其他语言,Perl 不知道字符串来自于数字。它将做最好的 DTRT。

    1. my $exchange = substr( $phone, 4, 3 ); # 588
    2. print sqrt( $exchange ); # 24.2487113059643

    你能够利用 ++ 来自增字符串。字符串abc自增后变成abd

    1. $ cat foo.pl
    2. $a = 'abc'; $a = $a + 1;
    3. $c = 'abc'; $c++;
    4. print join ", ", ( $a, $b, $c );
    5. $ perl -l foo.pl
    6. 1, 1, abd

    利用 heredocs 创建长字符串

    Heredocs 允许连续文本,直到遇到下一个标记。使用内插,除非标记在单引号内。

    1. my $page = <<HERE;
    2. <html>
    3. <head><title>$title</title></head>
    4. <body>This is a page.</body>