#!/bin/perl
use v5.14.2;
use strict;
use Carp;
package main;
main();
sub main
{
show_call_information();
}
sub show_call_information
{
my ($package, $file, $line,$func) = caller(0);
say "Called $func from $package in $file:$line";
}
say "---------use Carp------------------";
say add_numbers(1,2,3);
sub add_numbers
{
croak 'Expected two numbers, received:' . @_
unless @_ == 2;
my ($one, $two) = @_;
return $one + $two;
}
####
perl chapter5_2.pl
##
##
Called main::show_call_information from main in chapter5_2.pl:13
---------use Carp------------------
Expected two numbers, received:3 at chapter5_2.pl line 28.
main::add_numbers(1, 2, 3) called at chapter5_2.pl line 24