b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

scalar() perl_stata scalar_perl substr(16)

电脑杂谈  发布时间:2017-01-23 23:04:07  来源:网络整理

   sub numstrcmp ($$) : locked {
      my ($a, %b) = @_;
      return $a <=> $b || $a cmp %b;
   }

有关属性列表和它们的操作的细节,请参阅第三十一章里的 attributes 用法。又见第六章和第八章的“匿名子过程”。

substr EXPR, OFFSET, LENGTH, REPLACEMENT

substr EXPR, OFFSET, LENGTH

substr EXPR, OFFSET

这个函数从 EXPR 给出的字串中抽取一个子字串然后返回它。这个子字串是从字串前面 OFFSET 个字符的位置开始抽取的。(注意:如果你曾经修改了 $[,那么字串的开头就不再是 0 了,不过因为你没有修改过 $[,所以它的开头还是 0。)如果 OFFSET 是负数,那么子字串是从字串后面数这么多偏移量位置开始的。如果省略了 LENGTH,那么把从该位置到字串结尾的东西都抽取出来。如果 LENGTH 是负数,那么该长度是当作在字串尾部剩余那么多字符来理解的。否则,LENGTH 表示要抽取的子字串的长度,通常就是你想要的东西。

你可以把 substr 当作一个左值(可以给之赋值的东西)来用,这个时候 EXPR 也必须是一个合法的左值。如果你给你的子字串赋予比它短的东西,那么该字串将收缩,而如果你给它赋予比它长的东西,那么它会变长。要想保持该字串长度一致,你可能需要用 sprintf 或者 x 操作符填充或者截断你的数值。如果你试图给一个跨过该字串尾部的未分配区域赋值,那么 substr 就会抛出一个例外。

在 $_ 的当前值前面增加字串“Larry”,用:

   substr($var, 0, 0) = "Larry";

替换 $_ 的第一个字符为“Moe”,用:

   substr($var, 0, 1) = "Moe";

最后,把 $var 的最后一个字符换成“Curly”,用:

   substr($var, -1) = "Curly";

把 substr 当作左值使用的另外一个方面就是声明 REPLACEMENT 字串作为其第四个参数。这样就允许你替换 EXPR 的某部分并且返回在一次操作之前的东西,就好象你用 splice 实现的功能那样。下面一个例子也是把 $var 的最后一个字符替换成“Curly”,并且把那个被替换的字符放到 $oldstr 里:

   $oldstr = substr($var, -1, 1, "Curly");

你不一定只是在赋值语句中使用 substr 作为左值。下面的代码把任何空格替换成句点,但是只替换字串中的最后十个字符:

   substr($var, -10) =~ s/ /./g;

symlink OLDNAME, NEWNAME

这个函数创建一个新的文件,该文件是是指向一个旧文件的符号链接。此函数成功时返回真,否则返回假。在那些不支持符号链接的系统上,它在运行时抛出一个例外。要想检查这个例外,你可以用 eval 捕获所有可能的错误:

   $can_symlink = eval  { symlink("", ""); 1 };

或者使用 Config 模块。要注意的是如果你提供了一个相对符号链接,那么它会被解释成相对于该符号链接本身的路径,而不是相对于你的当前工作目录。

又见本章早些时候的 link 和 readlink。

syscall LIST


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28372-16.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...