美文网首页
perl语言再探之raku有记

perl语言再探之raku有记

作者: teddyandchen | 来源:发表于2021-09-01 15:16 被阅读0次

    部分反斜线转义字符序列

    转义序列 描述
    \a ASCII响铃字符
    \b 退格
    \r 回车
    \n 换行
    \t 制表符号
    \f 换页
    \c[NAME] 按名字指定字符
    \q[...] 对括号中的部分加单引号
    \qq[...] 对括号中部分加双引号
    \x[ABCD] 按十六进制码数指定字符

    部分引号形式

    短名 长名 描述
    「...」 字面量字符串 默认定界直角引号
    Q '...' 字面量字符串 有替代定界符的广义引号
    Q[...] 字面量字符串 有成对定界符的广义引号
    '...' 转义字符串 默认定界符单引号
    q{...} 转义字符串 使用替代的成对定界符
    Q:q[...] 转义字符串 带:q副词的广义引号
    "..." 插值字符串 默认定界符双引号
    qq[...] 插值字符串 使用替代的成对定界符
    Q:qq '...' 插值字符串 带:qq副词的广义引号
    Q:c '...{}...' 插值字符串 只对大括号中部分插值的广义引号
    Q:to(HERE) 字面量字符串 Here doc
    q:to(HERE) 转义字符串 Here doc
    qq:to(HERE) 插值字符串 Here doc

    部分引号副词:

    短名 长名 描述
    :x :exec 执行shell命令并返回结果
    :q :single 对\,\qq[...]和转义定界符插值
    :qq :double 组合 :s,:a,:h,:f,:c,:b的插值
    :s :scalar 对$变量插值
    :a :array 对@变量插值
    :h :hash 对%变量插值
    :f :function 对&调用插值
    :c :closure 对{...}中的代码插值
    :b :blackslash 对\n,\t和其他特殊序列插值
    :to :heredoc 解析结果作为here doc终止符
    :v :val 如果可能,转换为语素变体

    Example:

    put "The escaped \" stays in the string";
    put "The snowman is \x[2603]";
    
    my $name = 'Hamadryas perlicus';
    put "The best butterfly is $name";
    
    my $answer = prompt 'What\'s your favorite animal?';
    put qq/\$answer is: \n\t$answer/;
    put Q :qq /\$answer is type {$answer.^name}/;
    
    my $genus = 'Hamadryas perlicus';
    put '$genus is \qq[$genus]';
    put "\q[$genus] is $genus";
    
    my $multi-line = qq :to/HERE/;
        Hamadryas perlicus: 19
        Vanessa atalanta:   17
        Nymphalis antopia: 0
        $genus;
        HERE
    put $multi-line;
    
    put qq :to/END/;
        The genus is $genus
       END
    
    my $uname = qx/hostname/.chomp;
    put "The hostname is $uname";
    put "The hostname is {qx/hostname/.chomp}";
    print "The hostname is {qx/hostname/}";
    print Q :q      :x    /hostname/;
    print Q :q      :exec /hostname/;
    print Q :single :exec /pwd/; 
    
    my $name= 'Hamadryas';
    print Q :s:c:b "\r \n {2+2} $name";
    print qq :!c /No {2+2} interpolation $name/;
    

    在人的职业生涯中,有时可能会创建一个无限循环。你可能坐在那里看着屏幕,心里奇怪为什么什么也没发生。在这种情况下,可以用Ctrl-C中断你的程序。

    相关文章

      网友评论

          本文标题:perl语言再探之raku有记

          本文链接:https://www.haomeiwen.com/subject/ftexwltx.html