summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorM.J.T. Guy <mjtg@cus.cam.ac.uk>1997-03-08 20:12:17 +0000
committerChip Salzenberg <chip@atlantic.net>1997-03-07 04:01:12 +1200
commitd43563dda8f974d66e255d10af6e34c09bb46cb4 (patch)
tree4a44205e5473a63edad772f760aa8d904182c33c
parentb4af43c9fb3ef14c4c948a3a34d31ef17ebc4eed (diff)
downloadperl-d43563dda8f974d66e255d10af6e34c09bb46cb4.tar.gz
Carp with multiple arguments
Subject: Carp with multiple arguments (and lack of tests) carp/croak/confess are documented as similar to warn/die, but whereas warn/die print multiple arguments, carp/croak/confess print only the first. Assuming that this is a bug rather than a feature, the following patch corrects it. (And if it _is_ a feature, the pod needs updating instead, to explain it away.) Trying to be polite, I thought I'd update the Carp tests to cover this case. But I couldn't find any Carp tests ... I'll have a go at rectifying this lacuna. But not till tomorrow. p5p-msgid: E0w3STZ-0007RW-00@taurus.cus.cam.ac.uk
-rw-r--r--lib/Carp.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Carp.pm b/lib/Carp.pm
index de586489ba..ec08d30c19 100644
--- a/lib/Carp.pm
+++ b/lib/Carp.pm
@@ -37,7 +37,7 @@ require Exporter;
@EXPORT = qw(confess croak carp);
sub longmess {
- my $error = shift;
+ my $error = join '', @_;
my $mess = "";
my $i = 1 + $CarpLevel;
my ($pack,$file,$line,$sub,$hargs,$eval,$require);
@@ -85,7 +85,7 @@ sub longmess {
}
sub shortmess { # Short-circuit &longmess if called via multiple packages
- my $error = $_[0]; # Instead of "shift"
+ my $error = join '', @_;
my ($prevpack) = caller(1);
my $extra = $CarpLevel;
my $i = 2;