Quelle est la différence entre la Carpe/Croa, cot-cot-codec/l'Avoue, et verbeux options?

Je n'ai pas utilisé la Carpe car j'ai généralement roulé ma propre. Cependant, dans l'esprit de garder avec des modules de Base, je l'utilise maintenant. Cependant, il semble que c'est à peine mieux que de mettre en garde/die.

En outre, qu'est-cot-cot-codec/avouer/verbose même le faire? J'ai couru ce petit script pour avoir une idée de la sortie ressemble (parce que la Carpe docs ne pas le faire). Il est exactement le même sur n'importe quelle course (en plus de l'aléatoire de chaînes de caractères).

  #!/usr/bin/perl

  package Warning;

  sub warning {
    warn "warn";
  }

  package CWarn;
  use Carp qw(carp cluck);

  sub cwarn {
    int(rand(2)) ? carp "carp" : cluck "cluck";
  }

  package Fatal;
  use Carp qw(confess croak);

  sub fatal {
    int(rand(2)) ? confess "confess" : croak "croak";
  }

  package Loop;

  use v5.10;

  sub loop {
    say '=' x 80;
    Warning::warning();
    CWarn::cwarn();
    loop() unless ($c++ > 10);
    Fatal::fatal();
  }

  package main;

  Warning::warning();
  CWarn::cwarn();
  Loop::loop();

Mise à JOUR: mis à Jour le script avec les noms de paquets et cela fait une différence. Cependant, la Carpe semble encore très basique en termes de connexion de l'information, et il ne supporte pas de sortie web. Je crois que je vais regarder les autres comme CGI::Carp, Log::Sortie, et Log::Log4Perl.

  • Avez-vous essayé la lecture de la documentation? C'est mieux que l'essai et l'erreur.
  • Je n'ai pas rouler mes propres modules, mais je ne l'utilisation de la programmation Orientée Objet, ce qui signifie que je utiliser des packages. Même si l'ensemble de votre programme est en un seul fichier, mais vous définir par le biais des classes package, vous trouverez carp et croak à portée de main. comme l'a souligné cmj.
  • Voici la documentation: The Carp routines are useful in your own modules because they act like die() or warn(), but with a message which is more likely to be useful to a user of your module. Pas très utile sauf si vous avez personnellement utiliser les paquets et peut voir la différence.
  • Je vais dire la Carpe documents ne sont pas à indiquer clairement si a est mort ou pas, au moins dans les premiers paragraphes. Juste un noobs de l'expérience.
  • En demandant à ce que les fonctions ne est une bonne question, la documentation est très faible dans ce cas. Je l'ai lu des dizaines de fois et j'ai encore du mal à trouver les informations dont j'ai besoin. Il ne semble pas avoir été amélioré pour plus de 7 ans.
InformationsquelleAutor Brendan Byrd | 2011-10-01