1No::Worries::Warn(3) User Contributed Perl Documentation No::Worries::Warn(3)
2
3
4
6 No::Worries::Warn - warning handling without worries
7
9 use No::Worries::Warn qw(warnf handler);
10
11 if (open($fh, "<", $path)) {
12 ... so something in case of success ...
13 } else {
14 warnf("cannot open(%s): %s", $path, $!);
15 ... do something else in case of failure ...
16 }
17
18 $ ./myprog
19 myprog: cannot open(foo): No such file or directory
20
21 $ NO_WORRIES=cluck ./myprog
22 myprog: cannot open(foo): No such file or directory at myprog line 16
23 main::test() called at ./myprog line 19
24
26 This module eases warning handling by providing a convenient wrapper
27 around warn() with sprintf()-like API. warnf() is to warn() what
28 printf() is to print() with, in addition, the trimming of leading and
29 trailing spaces.
30
31 It also provides a handler for warn() that prepends a prefix
32 ($No::Worries::Warn::Prefix) to all warnings. It also uses the
33 "NO_WORRIES" environment variable to find out if Carp's carp() or
34 cluck() should be used instead of warn(). Finally, the wrapper can be
35 told to also log warnings to syslog (see $No::Worries::Warn::Syslog).
36
37 This handler can be installed simply by importing it:
38
39 use No::Worries::Warn qw(warnf handler);
40
41 Alternatively, it can be installed "manually":
42
43 use No::Worries::Warn qw(warnf);
44 $SIG{__WARN__} = \&No::Worries::Warn::handler;
45
47 This module provides the following functions (none of them being
48 exported by default):
49
50 warnf(MESSAGE)
51 report a warning described by the given MESSAGE
52
53 warnf(FORMAT, ARGUMENTS...)
54 idem but with sprintf()-like API
55
56 handler(MESSAGE)
57 $SIG{__WARN__} compatible warning handler (this function cannot be
58 imported)
59
61 This module uses the following global variables (none of them being
62 exported):
63
64 $Prefix
65 prefix to prepend to all warnings (default: the program name)
66
67 $Syslog
68 true if warnings should also be sent to syslog using
69 No::Worries::Syslog's syslog_warning() (default: false)
70
72 This module uses the "NO_WORRIES" environment variable to control how
73 warnings should be reported. Supported values are:
74
75 "carp"
76 Carp's carp() will be used instead of warn()
77
78 "cluck"
79 Carp's cluck() will be used instead of warn()
80
82 Carp, No::Worries, No::Worries::Die, No::Worries::Syslog.
83
85 Lionel Cons <http://cern.ch/lionel.cons>
86
87 Copyright (C) CERN 2012-2019
88
89
90
91perl v5.36.0 2023-01-20 No::Worries::Warn(3)