Acme-BOPE
view release on metacpan or search on metacpan
lib/Acme/BOPE.pm view on Meta::CPAN
package Acme::BOPE;
require 5.005_62;
#use strict;
#use warnings;
our $VERSION = 0.01;
#use Exporter;
#
#our @ISA = qw(Exporter);
#our @EXPORT = qw(canta_hino fato);
my @ignoradas = (
"[dn]?[oa][s]?" , # o, a, os, as, dos, nos, das, nas, no, na, do, da
"[nd]?e(?:ss|l)[ae]s?", # ele, ela, dele, dela, desse, dessa nesse, nessa
"s(?:eu|ua)s?" , # seu, sua
"(?:uma?|eu)" , # uma, eu
"com" ,
"sem" ,
"porra[?!]*" ,
"merda[?!]*" ,
"viado[?!]*" ,
);
#my $ignoradas = join "|", @ignoradas;
use Filter::Simple;
FILTER_ONLY
all => sub {
my $package = shift;
my %par = @_;
if ( $par{'DEBUG'} ) {
filter($_);
Perl::Tidy::perltidy(source => \$_, destination => \$_)
if eval "require Perl::Tidy";
print;
}
# my $DEBUG = $par{DEBUG} if $par{DEBUG};
# return unless $DEBUG;
# filter($_);
# Perl::Tidy::perltidy(source => \$_, destination => \$_)
# if eval "require Perl::Tidy";
# print if $DEBUG;
# exit;
},
code_no_comments => \&filter;
sub filter {
$_ = "\$senhor = \$\$_;$/" . $_;
$_ = "\$| = 1;$/" . $_;
s#pelot[ãa]o, cantar hino#print Acme::BOPE::canta_hino#gi;
s#Capit[ãa]o Nascimento#print Acme::BOPE::fato#gi; # mudar por frase legal
s{\b(?:naum|não|nao|nunca|jamais)\s+(?:ser(?:á|ão)|é|eh)\b}{ne}gi;
s{\b(?:naum|não|nao|nunca|jamais)\b}{not}gi;
s{\bser(?:á|ão|a|ah|ao)\b}{eq}gi;
s{\b(?:é|eh)\b}{=}gi;
s{\bfor\b}{eq}gi;
s{\bvale(?:rá)?\b}{==}gi;
s{\bvai pra guerra\b}{system}gi;
s#\bse\s+(.*?)\s+ent[ãa]o\b#if($1){\n#gi;
s#\bent[ãa]o\b#\{#gi;
s#\bfaz isso aqui[:]?\b#\{#gi;
s#\bsen[ãa]o\b#}else{\n#gi;
s#\bestamos entendidos[?!]*\b#}#gi;
s#\bos? senhor(?:es)? est(?:[aã]o|[aá]) fazendo (?:o )?seu instrutor muito feliz(?:...)#}#gi;
s{\bfala(?: agora)?[!:]*}{print}gi;
s{\bgrita[!:]*\b}{print}gi;
s{\bvai dar merda,?}{warn}gi;
s{
\b(?:v(?:ou|ai)\s+)?gritar\s+(?:em|n[oa]|ao?) (.*?):
}
{
(my $file = $1) =~ s/\W/_/g;
$file =~ s/^_+|_+$//g;
my $fh = uc $file;
"open $fh, \">>$file\";
print \{$fh\}"
}giex;
s{\bchega[!]*\b}{last}gi;
s{\bpára[!]*\b}{last}gi;
s#\bpara\s+(.*?)\s+(?:ent[aã]o|,)fa[cç]a\b#for($1){#gi;
s#\benquanto\s+(.*?)\s*,#while($1){\n#gi;
s{\bfati(?:a|ou)\b}{split}gi;
s{\bpass(?:a|ou)\b}{next}gi;
s{\bpede pra sair\b}{die}gi;
s{\b(?:eu )?desisto\b}{exit}gi;
s{\bdesistiu\b}{= undef}gi;
s{\bbota na conta do papa\b}{exit}gi;
s{\be\b}{and}gi;
s{\b(?:ent[ãa]o\s+)?senta o dedo nessa porra\b}{print "Caveira meu capitao!"}gi;
# variaveis
no warnings;
( run in 2.096 seconds using v1.01-cache-2.11-cpan-98e64b0badf )