1 ## name Unspectacular die
5 die 'A horrible death' if $condtion;
8 die 'A horrible death';
11 open my $fh, '<', $path or
12 die "Can't open file $path";
14 #-----------------------------------------------------------------------------
16 ## name Unspectacular warn
20 warn 'A horrible warning' if $condtion;
23 warn 'A horrible warning';
26 open my $fh, '<', $path or
27 warn "Can't open file $path";
29 #-----------------------------------------------------------------------------
35 carp 'A horrible death' if $condtion;
38 carp 'A horrible death';
41 open my $fh, '<', $path or
42 carp "Can't open file $path";
44 #-----------------------------------------------------------------------------
50 die 'A horrible death';
52 #-----------------------------------------------------------------------------
54 ## name Complain about cases without arguments.
61 #-----------------------------------------------------------------------------
63 ## name Complain about cases with empty list arguments.
70 #-----------------------------------------------------------------------------
72 ## name Complain about cases with non-string arguments.
80 die $errors_by_id{"Cheese fondue overflow"};
81 die $marvin_gaye->whats_goin_on();
82 die $george_washington->cross("Delaware River\n");
84 #-----------------------------------------------------------------------------
86 ## name Don't complain about obvious uses of references because they're likely being used as exception objects.
87 ## TODO not yet implemented
91 die \$frobnication_exception;
92 die \@accumulated_warnings;
97 'process.html: missing standard section separator comments',
98 'green.css: uses non-standard font "Broken 15"',
99 'cat.jpg: missing copyright information in Exif metadata',
104 message => 'Found duplicate entries',
105 file => $current_file,
107 occurrences => $occurrences,
108 duplicated => $entry_content,
111 die Blrfl::Exception->new('Too many croutons', $salad);
114 #-----------------------------------------------------------------------------
116 ## name Don't complain if message ends with "\n" in double quotes.
120 die "A horrible death\n" ;
121 die "A horrible death\n" # last statement doesn't need a terminator
123 #-----------------------------------------------------------------------------
125 ## name Complain if message ends with "\n" in single quotes.
129 die 'A horrible death\n' ;
130 die 'A horrible death\n' # last statement doesn't need a terminator
132 #-----------------------------------------------------------------------------
134 ## name Don't complain if message ends with "\n" in interpolated quotelike operator.
138 die qq{A horrible death\n} ;
139 die qq#A horrible death\n# ;
140 die qq/A horrible death\n/ # last statement doesn't need a terminator
142 #-----------------------------------------------------------------------------
144 ## name Complain if message ends with "\n" in non-interpolated quotelike operator.
148 die q{A horrible death\n} ;
149 die q#A horrible death\n# ;
150 die q/A horrible death\n/ # last statement doesn't need a terminator
152 #-----------------------------------------------------------------------------
154 ## name Don't complain if message is a list with a last element that ends with "\n"
158 die q{Don't }, $die, " a horrible death\n" ;
159 die qq{Don't }, $die, qq/ a horrible death\n/ ;
160 die q{Don't }, $die, " a horrible death\n" , ;
161 die q{Don't }, $die, " a horrible death\n" , # last statement doesn't need a terminator
163 #-----------------------------------------------------------------------------
165 ## name Don't complain if message is a parenthesised list with a last element that ends with "\n"
169 die ( q{Don't }, $die, " a horrible death\n" ) ;
170 die ( qq{Don't }, $die, qq/ a horrible death\n/ ) ;
171 die ( qq{Don't }, $die, qq/ a horrible death\n/ ) , ;
172 die ( q{Don't }, $die, " a horrible death\n" , ) # last statement doesn't need a terminator
174 #-----------------------------------------------------------------------------
176 ## name Don't complain if message is a list with "sub" lists with a last (flattened list) element that ends with "\n"
180 # all these tests are necessary (different PPI trees)
182 # one element in a sub list
183 die q{Don't } , ( $die ) , " a horrible death\n" ;
184 die q{Don't } , $die , ( " a horrible death\n" ) ;
186 # sub list and a bare element
187 die q{Don't } , ( $die , " a horrible death\n" ) ;
190 die q{Don't } , ( $die ) , ( " a horrible death\n" ) ;
194 die ( ( q{Don't } ) , $die , " a horrible death\n" ) ;
195 die ( q{Don't } , $die , ( " a horrible death\n" ) ) ;
196 die ( q{Don't } , ( $die , ( " a horrible death\n" ) ) ) ;
197 die ( ( q{Don't } , ( $die , ( " a horrible death\n" ) ) ) ) ;
199 # play with extra commas
200 die ( ( q{Don't } , ( $die , ( " a horrible death\n" , ) , ) , ) , ) , ;
201 die ( ( q{Don't } , ( $die , ( " a horrible death\n" , ) , ) , ) , ) ,
203 #-----------------------------------------------------------------------------
205 ## name Complain if message is a list with "sub" lists with a last (flattened list) element that doesn't end with "\n"
209 # all these tests are necessary: make sure that the policy knows when to
212 # one element in a sub list
213 die q{Don't } , ( $die ) , @a_horrible_death ;
214 die q{Don't } , $die , ( @a_horrible_death ) ;
216 # sub list and a bare element
217 die q{Don't } , ( $die , @a_horrible_death ) ;
220 die q{Don't } , ( $die ) , ( @a_horrible_death ) ;
224 die ( ( q{Don't } ) , $die , @a_horrible_death ) ;
225 die ( q{Don't } , $die , ( @a_horrible_death ) ) ;
226 die ( q{Don't } , ( $die , ( @a_horrible_death ) ) ) ;
227 die ( ( q{Don't } , ( $die , ( @a_horrible_death ) ) ) ) ;
229 # play with extra commas
230 die ( ( q{Don't } , ( $die , ( @a_horrible_death , ) , ) , ) , ) , ;
231 die ( ( q{Don't } , ( $die , ( @a_horrible_death , ) , ) , ) , ) ,
233 #-----------------------------------------------------------------------------
235 ## name Don't complain if message is a concatenation with a last element that ends with "\n"
239 die q{Don't } . $die . " a horrible death\n" ;
240 die ( q{Don't } . $die . " a horrible death\n" ) ;
242 ##-----------------------------------------------------------------------------
244 ## name Complain if message has a last element that ends with "\n" but has an operation in front
248 die q{Don't } . $die . length " a horrible death\n" ;
249 die ( q{Don't } . $die . length " a horrible death\n" ) ;
251 #-----------------------------------------------------------------------------
253 ## name Don't complain if followed by postfix operator and otherwise valid.
257 die "A horrible death\n" if $self->is_a_bad_guy();
258 die "A horrible death\n" unless $self->rescued_from_the_sinking_ship();
259 die "A horrible death\n" while $deep_sense_of_guilt;
260 die "A horrible death\n" until $clear_conscience;
261 die "A horrible death\n" for @your_crimes;
262 die "A horrible death\n" foreach @{ $songs_sung_off_key };
264 die 'A horrible ', "death\n" if $self->is_a_bad_guy();
265 die 'A horrible ', "death\n" unless $self->rescued_from_the_sinking_ship();
266 die 'A horrible ', "death\n" while $deep_sense_of_guilt;
267 die 'A horrible ', "death\n" until $clear_conscience;
268 die 'A horrible ', "death\n" for @your_crimes;
269 die 'A horrible ', "death\n" foreach @{ $songs_sung_off_key };
271 die ( 'A horrible ', "death\n" ) if $self->is_a_bad_guy();
272 die ( 'A horrible ', "death\n" ) unless $self->rescued_from_the_sinking_ship();
273 die ( 'A horrible ', "death\n" ) while $deep_sense_of_guilt;
274 die ( 'A horrible ', "death\n" ) until $clear_conscience;
275 die ( 'A horrible ', "death\n" ) for @your_crimes;
276 die ( 'A horrible ', "death\n" ) foreach @{ $songs_sung_off_key };
278 die ( 'A horrible ' . "death\n" ) if $self->is_a_bad_guy();
279 die ( 'A horrible ' . "death\n" ) unless $self->rescued_from_the_sinking_ship();
280 die ( 'A horrible ' . "death\n" ) while $deep_sense_of_guilt;
281 die ( 'A horrible ' . "death\n" ) until $clear_conscience;
282 die ( 'A horrible ' . "death\n" ) for @your_crimes;
283 die ( 'A horrible ' . "death\n" ) foreach @{ $songs_sung_off_key };
285 #-----------------------------------------------------------------------------
287 ## name Complain if followed by postfix operator with "\n" ending last operand and otherwise invalid.
291 die "A horrible death" if "Matagami\n";
292 die "A horrible death" unless "Enniscorthy\n";
293 die "A horrible death" while "Htargcm\n";
294 die "A horrible death" until "Akhalataki\n";
295 die "A horrible death" for "Fleac\n";
296 die "A horrible death" foreach "Uist\n";
298 die 'A horrible ', "death" if "Matagami\n";
299 die 'A horrible ', "death" unless "Enniscorthy\n";
300 die 'A horrible ', "death" while "Htargcm\n";
301 die 'A horrible ', "death" until "Akhalataki\n";
302 die 'A horrible ', "death" for "Fleac\n";
303 die 'A horrible ', "death" foreach "Uist\n";
305 die ( 'A horrible ', "death" ) if "Matagami\n";
306 die ( 'A horrible ', "death" ) unless "Enniscorthy\n";
307 die ( 'A horrible ', "death" ) while "Htargcm\n";
308 die ( 'A horrible ', "death" ) until "Akhalataki\n";
309 die ( 'A horrible ', "death" ) for "Fleac\n";
310 die ( 'A horrible ', "death" ) foreach "Uist\n";
312 die ( 'A horrible ' . "death" ) if "Matagami\n";
313 die ( 'A horrible ' . "death" ) unless "Enniscorthy\n";
314 die ( 'A horrible ' . "death" ) while "Htargcm\n";
315 die ( 'A horrible ' . "death" ) until "Akhalataki\n";
316 die ( 'A horrible ' . "death" ) for "Fleac\n";
317 die ( 'A horrible ' . "death" ) foreach "Uist\n";
319 #-----------------------------------------------------------------------------
321 ## name Complain if config doesn't allow newlines.
323 ## parms { allow_messages_ending_with_newlines => 0 }
326 die "A horrible death\n" ;
328 #-----------------------------------------------------------------------------
330 ##############################################################################
331 # $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/ErrorHandling/RequireCarping.run $
332 # $Date: 2008-03-16 17:40:45 -0500 (Sun, 16 Mar 2008) $
333 # $Author: clonezone $
335 ##############################################################################
339 # cperl-indent-level: 4
341 # indent-tabs-mode: nil
342 # c-indentation-style: bsd
344 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :