Change 29815 by [EMAIL PROTECTED] on 2007/01/15 12:29:14

        Factorise croak() calls and error messages in feature.pm
        (suggested by Michael G Schwern)

Affected files ...

... //depot/perl/lib/feature.pm#8 edit

Differences ...

==== //depot/perl/lib/feature.pm#8 (text) ====
Index: perl/lib/feature.pm
--- perl/lib/feature.pm#7~28365~        2006-06-07 01:47:49.000000000 -0700
+++ perl/lib/feature.pm 2007-01-15 04:29:14.000000000 -0800
@@ -105,27 +105,19 @@
 sub import {
     my $class = shift;
     if (@_ == 0) {
-       require Carp;
-       Carp->import("croak");
        croak("No features specified");
     }
     while (@_) {
        my $name = shift(@_);
        if ($name =~ /^:(.*)/) {
            if (!exists $feature_bundle{$1}) {
-               require Carp;
-               Carp->import("croak");
-               croak(sprintf('Feature bundle "%s" is not supported by Perl 
%vd',
-                   $1, $^V));
+               unknown_feature_bundle($1);
            }
            unshift @_, @{$feature_bundle{$1}};
            next;
        }
        if (!exists $feature{$name}) {
-           require Carp;
-           Carp->import("croak");
-           croak(sprintf('Feature "%s" is not supported by Perl %vd',
-               $name, $^V));
+           unknown_feature($name);
        }
        $^H{$feature{$name}} = 1;
     }
@@ -144,19 +136,13 @@
        my $name = shift;
        if ($name =~ /^:(.*)/) {
            if (!exists $feature_bundle{$1}) {
-               require Carp;
-               Carp->import("croak");
-               croak(sprintf('Feature bundle "%s" is not supported by Perl 
%vd',
-                   $1, $^V));
+               unknown_feature_bundle($1);
            }
            unshift @_, @{$feature_bundle{$1}};
            next;
        }
        if (!exists($feature{$name})) {
-           require Carp;
-           Carp->import("croak");
-           croak(sprintf('Feature "%s" is not supported by Perl %vd',
-               $name, $^V));
+           unknown_feature($name);
        }
        else {
            delete $^H{$feature{$name}};
@@ -164,4 +150,21 @@
     }
 }
 
+sub unknown_feature {
+    my $feature = shift;
+    croak(sprintf('Feature "%s" is not supported by Perl %vd',
+           $feature, $^V));
+}
+
+sub unknown_feature_bundle {
+    my $feature = shift;
+    croak(sprintf('Feature bundle "%s" is not supported by Perl %vd',
+           $feature, $^V));
+}
+
+sub croak {
+    require Carp;
+    Carp::croak(@_);
+}
+
 1;
End of Patch.

Reply via email to