# VOODOO LINE-NOISE my($C,$M,$P,$N,$S);END{print"1..$C\n$M";print"\nfailed: $N\n"if$N} sub ok{$C++; $M.= ($_[0]||!@_)?"ok $C\n":($N++,"not ok $C (". ((caller 1)[1]||(caller 0)[1]).":".((caller 1)[2]||(caller 0)[2]).")\n")} sub try{$P=qr/^$_[0]$/}sub fail{ok($S=$_[0]!~$P)}sub pass{ok($S=$_[0]=~$P)} # LOAD use Regexp::Common 'RE_ALL'; ok; if ($] >= 5.006) { try RE_balanced; pass '(a(b))'; fail '(a(b)'; } try RE_num_real; pass '-1.234e+567', qw( - 1.234 1 . 234 e +567 + 567 ); try RE_num_dec; pass '-1.234e+567', qw( - 1.234 1 . 234 e +567 + 567 ); try RE_num_real(-base=>2,-expon=>'x2\^'); pass '-101.010x2^101010', qw( - 101.010 101 . 010 x2^ 101010 ), "", "101010"; try RE_num_bin; pass '-101.010E101010', qw( - 101.010 101 . 010 E 101010 ), "", "101010"; try RE_num_real(-base=>10, -sep); pass '-1,234,567.234e+567'; try RE_comment_C; pass '/*abc*/', qw( /* abc */ ); try RE_comment_CXX; pass '/*abc*/'; pass "// abc\n"; try RE_comment_Perl; pass "# abc\n", "#", " abc", "\n"; try RE_comment_shell; pass "# abc\n", "#", " abc", "\n"; try RE_comment_HTML; pass "", ""; try RE_delimited(-delim=>'/'); pass '/a\/b/', qw( / a\/b / ); try RE_delimited(-delim=>'/', -esc=>'/'); pass '/a//b/', qw( / a//b / ); try RE_net_IPv4; pass '123.234.1.0', qw( 123 234 1 0 ); try RE_list_conj(-word=>'(?:and|or)'); pass 'a, b, and c', ', and '; my $profane = 'uneqba'; my $contextual = 'funttref'; foreach ($profane, $contextual) { tr/A-Za-z/N-ZA-Mn-za-m/ } try RE_profanity; pass $profane; try RE_profanity_contextual; pass $contextual;