zoukankan      html  css  js  c++  java
  • caller

    caller caller EXPR

    这个函数返回关于当前子过程调用等方面的堆栈信息。如果没有参数,它返回包名,文件名,和调用当前子过程的程序的行号:

       ($package, $filename, $line) = caller;
    如果带参数调用,caller 把 EXPR 算做从当前的堆栈位置向回退的桢数。比如,参数 0 意思是当前堆栈桢,1 意思是该调用者,2 意思是调用者的调用者,以此类推。
    
      1. #!/usr/bin/perl  
      2. use strict;  
      3. use warnings;  
      4. sub b{  
      5.     my $x=(caller(0))[3];  
      6.         print "\nIn subroutine $x\n";  
      7.         print "\nThe result of caller 0:\n";  
      8.     print join "\n", caller 0;  
      9.         print "\nThe result of caller 1:\n";  
      10.     print join "\n", caller 1;  
      11. }  
      12.   
      13. sub a{  
      14.     my $x=(caller(0))[3];  
      15.         print "\nIn subroutine $x\n";  
      16.         print "\nThe result of caller 0:\n";  
      17.     print join "\n", caller 0;  
      18.         print "\nThe result of caller 1:\n";  
      19.     print join "\n", caller 1;  
      20.         &b;  
      21. }  
      22. &a; 
  • 相关阅读:
    C++ 11 lambda
    Win环境下的文件读写
    基于 Jenkins+Docker+Git 的CI流程初探
    python切片操作
    k8s 集群中的etcd故障解决
    Git 版本控制管理(二)
    Git 版本控制管理(一)
    Harbor 企业级镜像仓库搭建
    docker 数据管理
    docker 网络的几种模式
  • 原文地址:https://www.cnblogs.com/mliudong/p/2750850.html
Copyright © 2011-2022 走看看