diff --git a/lib/App/Model/Eval.pm b/lib/App/Model/Eval.pm index 30f9fa2..5d79d3a 100644 --- a/lib/App/Model/Eval.pm +++ b/lib/App/Model/Eval.pm @@ -29,13 +29,18 @@ sub _adopt_future { }) } +my @full_langs = qw/perl perl5.30 perl5.28 perl5.26 perl5.24 perl5.22 perl5.20 perl5.18 perl5.16 perl5.14 perl5.12 perl5.10 perl5.8 perl5.6 perl5.8.8 perl5.8.4 perl5.10.0/; sub get_eval { my ($self, $paste_id, $code, $langs, $callback) = @_; print "Entering\n"; if (@$langs == 1 && $langs->[0] eq "evalall") { - $langs = [qw/perl perl5.28 perl5.26 perl5.26t perl5.24 perl5.22 perl5.20 perl5.18 perl5.16 perl5.14 perl5.12 perl5.10 perl5.8 perl5.6 perl5.8.8 perl5.10.0/]; + $langs = [@full_langs]; + } elsif (@$langs == 1 && $langs->[0] eq "evaltall") { + $langs = [map {$_."t"} @full_langs]; + } elsif (@$langs == 1 && $langs->[0] eq "evalrall") { + $langs = [map {$_, $_."t"} @full_langs]; } use Data::Dumper; diff --git a/lib/App/Model/Languages.pm b/lib/App/Model/Languages.pm index ea24fa0..b993908 100644 --- a/lib/App/Model/Languages.pm +++ b/lib/App/Model/Languages.pm @@ -6,7 +6,7 @@ use warnings; use Mojo::Base '-base'; my @langs = ( - {name => "perl5.28", mode => "perl", description => "Perl 5.28"}, + {name => "perl5.30", mode => "perl", description => "Perl 5.30"}, {name => "perl6", mode => "perl", description => "Rakudo Star / Perl 6"}, {name => "bash", mode => "bash", description => "Bash"}, {name => "ruby", mode => "ruby", description => "Ruby (2.1)"}, @@ -16,20 +16,125 @@ my @langs = ( {name => "text", mode => "text", description => "----------"}, {name => "cobol", mode => "cobol", description => "GnuCOBOL 2.2"}, {name => "perl", mode => "perl", description => "Perl 5 (blead/git)"}, + {name => "perlt", mode => "perl", description => "Perl 5 (blead/git threaded)"}, {name => "deparse", mode => "perl", description => "Deparsed Perl"}, - {name => "evalall", mode => "perl", description => "Perl (EvalAll)"}, - {name => "perl5.26", mode => "perl", description => "Perl 5.26"}, - {name => "perl5.26t", mode => "perl", description => "Perl 5.26 (Threaded)"}, - {name => "perl5.24", mode => "perl", description => "Perl 5.24"}, - {name => "perl5.22", mode => "perl", description => "Perl 5.22"}, - {name => "perl5.20", mode => "perl", description => "Perl 5.20"}, - {name => "perl5.18", mode => "perl", description => "Perl 5.18"}, - {name => "perl5.16", mode => "perl", description => "Perl 5.16"}, - {name => "perl5.14", mode => "perl", description => "Perl 5.14"}, - {name => "perl5.12", mode => "perl", description => "Perl 5.12"}, - {name => "perl5.10", mode => "perl", description => "Perl 5.10"}, - {name => "perl5.8", mode => "perl", description => "Perl 5.8"}, - {name => "perl5.6", mode => "perl", description => "Perl 5.6"}, + {name => "evalall", mode => "perl", description => "Perl (EvalAll) (unthreaded)"}, + {name => "evaltall", mode => "perl", description => "Perl (EvalAll) (threaded)"}, + {name => "evalrall", mode => "perl", description => "Perl (EvalAll) (threaded + unthreaded)"}, + {name => "perl5.30.0", mode => "perl", description => "Perl 5.30.0"}, + {name => "perl5.30.0t", mode => "perl", description => "Perl 5.30.0 (threaded)"}, + {name => "perl5.28.2", mode => "perl", description => "Perl 5.28.2"}, + {name => "perl5.28.2t", mode => "perl", description => "Perl 5.28.2 (threaded)"}, + {name => "perl5.28.1", mode => "perl", description => "Perl 5.28.1"}, + {name => "perl5.28.1t", mode => "perl", description => "Perl 5.28.1 (threaded)"}, + {name => "perl5.28.0", mode => "perl", description => "Perl 5.28.0"}, + {name => "perl5.28.0t", mode => "perl", description => "Perl 5.28.0 (threaded)"}, + {name => "perl5.26.3", mode => "perl", description => "Perl 5.26.3"}, + {name => "perl5.26.3t", mode => "perl", description => "Perl 5.26.3 (threaded)"}, + {name => "perl5.26.2", mode => "perl", description => "Perl 5.26.2"}, + {name => "perl5.26.2t", mode => "perl", description => "Perl 5.26.2 (threaded)"}, + {name => "perl5.26.1", mode => "perl", description => "Perl 5.26.1"}, + {name => "perl5.26.1t", mode => "perl", description => "Perl 5.26.1 (threaded)"}, + {name => "perl5.26.0", mode => "perl", description => "Perl 5.26.0"}, + {name => "perl5.26.0t", mode => "perl", description => "Perl 5.26.0 (threaded)"}, + {name => "perl5.24.4", mode => "perl", description => "Perl 5.24.4"}, + {name => "perl5.24.4t", mode => "perl", description => "Perl 5.24.4 (threaded)"}, + {name => "perl5.24.3", mode => "perl", description => "Perl 5.24.3"}, + {name => "perl5.24.3t", mode => "perl", description => "Perl 5.24.3 (threaded)"}, + {name => "perl5.24.2", mode => "perl", description => "Perl 5.24.2"}, + {name => "perl5.24.2t", mode => "perl", description => "Perl 5.24.2 (threaded)"}, + {name => "perl5.24.1", mode => "perl", description => "Perl 5.24.1"}, + {name => "perl5.24.1t", mode => "perl", description => "Perl 5.24.1 (threaded)"}, + {name => "perl5.24.0", mode => "perl", description => "Perl 5.24.0"}, + {name => "perl5.24.0t", mode => "perl", description => "Perl 5.24.0 (threaded)"}, + {name => "perl5.22.4", mode => "perl", description => "Perl 5.22.4"}, + {name => "perl5.22.4t", mode => "perl", description => "Perl 5.22.4 (threaded)"}, + {name => "perl5.22.3", mode => "perl", description => "Perl 5.22.3"}, + {name => "perl5.22.3t", mode => "perl", description => "Perl 5.22.3 (threaded)"}, + {name => "perl5.22.2", mode => "perl", description => "Perl 5.22.2"}, + {name => "perl5.22.2t", mode => "perl", description => "Perl 5.22.2 (threaded)"}, + {name => "perl5.22.1", mode => "perl", description => "Perl 5.22.1"}, + {name => "perl5.22.1t", mode => "perl", description => "Perl 5.22.1 (threaded)"}, + {name => "perl5.22.0", mode => "perl", description => "Perl 5.22.0"}, + {name => "perl5.22.0t", mode => "perl", description => "Perl 5.22.0 (threaded)"}, + {name => "perl5.20.3", mode => "perl", description => "Perl 5.20.3"}, + {name => "perl5.20.3t", mode => "perl", description => "Perl 5.20.3 (threaded)"}, + {name => "perl5.20.2", mode => "perl", description => "Perl 5.20.2"}, + {name => "perl5.20.2t", mode => "perl", description => "Perl 5.20.2 (threaded)"}, + {name => "perl5.20.1", mode => "perl", description => "Perl 5.20.1"}, + {name => "perl5.20.1t", mode => "perl", description => "Perl 5.20.1 (threaded)"}, + {name => "perl5.20.0", mode => "perl", description => "Perl 5.20.0"}, + {name => "perl5.20.0t", mode => "perl", description => "Perl 5.20.0 (threaded)"}, + {name => "perl5.18.4", mode => "perl", description => "Perl 5.18.4"}, + {name => "perl5.18.4t", mode => "perl", description => "Perl 5.18.4 (threaded)"}, + {name => "perl5.18.3", mode => "perl", description => "Perl 5.18.3"}, + {name => "perl5.18.3t", mode => "perl", description => "Perl 5.18.3 (threaded)"}, + {name => "perl5.18.2", mode => "perl", description => "Perl 5.18.2"}, + {name => "perl5.18.2t", mode => "perl", description => "Perl 5.18.2 (threaded)"}, + {name => "perl5.18.1", mode => "perl", description => "Perl 5.18.1"}, + {name => "perl5.18.1t", mode => "perl", description => "Perl 5.18.1 (threaded)"}, + {name => "perl5.18.0", mode => "perl", description => "Perl 5.18.0"}, + {name => "perl5.18.0t", mode => "perl", description => "Perl 5.18.0 (threaded)"}, + {name => "perl5.16.3", mode => "perl", description => "Perl 5.16.3"}, + {name => "perl5.16.3t", mode => "perl", description => "Perl 5.16.3 (threaded)"}, + {name => "perl5.16.2", mode => "perl", description => "Perl 5.16.2"}, + {name => "perl5.16.2t", mode => "perl", description => "Perl 5.16.2 (threaded)"}, + {name => "perl5.16.1", mode => "perl", description => "Perl 5.16.1"}, + {name => "perl5.16.1t", mode => "perl", description => "Perl 5.16.1 (threaded)"}, + {name => "perl5.16.0", mode => "perl", description => "Perl 5.16.0"}, + {name => "perl5.16.0t", mode => "perl", description => "Perl 5.16.0 (threaded)"}, + {name => "perl5.14.4", mode => "perl", description => "Perl 5.14.4"}, + {name => "perl5.14.4t", mode => "perl", description => "Perl 5.14.4 (threaded)"}, + {name => "perl5.14.3", mode => "perl", description => "Perl 5.14.3"}, + {name => "perl5.14.3t", mode => "perl", description => "Perl 5.14.3 (threaded)"}, + {name => "perl5.14.2", mode => "perl", description => "Perl 5.14.2"}, + {name => "perl5.14.2t", mode => "perl", description => "Perl 5.14.2 (threaded)"}, + {name => "perl5.14.1", mode => "perl", description => "Perl 5.14.1"}, + {name => "perl5.14.1t", mode => "perl", description => "Perl 5.14.1 (threaded)"}, + {name => "perl5.14.0", mode => "perl", description => "Perl 5.14.0"}, + {name => "perl5.14.0t", mode => "perl", description => "Perl 5.14.0 (threaded)"}, + {name => "perl5.12.5", mode => "perl", description => "Perl 5.12.5"}, + {name => "perl5.12.5t", mode => "perl", description => "Perl 5.12.5 (threaded)"}, + {name => "perl5.12.4", mode => "perl", description => "Perl 5.12.4"}, + {name => "perl5.12.4t", mode => "perl", description => "Perl 5.12.4 (threaded)"}, + {name => "perl5.12.3", mode => "perl", description => "Perl 5.12.3"}, + {name => "perl5.12.3t", mode => "perl", description => "Perl 5.12.3 (threaded)"}, + {name => "perl5.12.2", mode => "perl", description => "Perl 5.12.2"}, + {name => "perl5.12.2t", mode => "perl", description => "Perl 5.12.2 (threaded)"}, + {name => "perl5.12.1", mode => "perl", description => "Perl 5.12.1"}, + {name => "perl5.12.1t", mode => "perl", description => "Perl 5.12.1 (threaded)"}, + {name => "perl5.12.0", mode => "perl", description => "Perl 5.12.0"}, + {name => "perl5.12.0t", mode => "perl", description => "Perl 5.12.0 (threaded)"}, + {name => "perl5.10.1", mode => "perl", description => "Perl 5.10.1"}, + {name => "perl5.10.1t", mode => "perl", description => "Perl 5.10.1 (threaded)"}, + {name => "perl5.10.0", mode => "perl", description => "Perl 5.10.0"}, + {name => "perl5.10.0t", mode => "perl", description => "Perl 5.10.0 (threaded)"}, + {name => "perl5.8.9", mode => "perl", description => "Perl 5.8.9"}, + {name => "perl5.8.9t", mode => "perl", description => "Perl 5.8.9 (threaded)"}, + {name => "perl5.8.8", mode => "perl", description => "Perl 5.8.8"}, + {name => "perl5.8.8t", mode => "perl", description => "Perl 5.8.8 (threaded)"}, + {name => "perl5.8.7", mode => "perl", description => "Perl 5.8.7"}, + {name => "perl5.8.7t", mode => "perl", description => "Perl 5.8.7 (threaded)"}, + {name => "perl5.8.6", mode => "perl", description => "Perl 5.8.6"}, + {name => "perl5.8.6t", mode => "perl", description => "Perl 5.8.6 (threaded)"}, + {name => "perl5.8.5", mode => "perl", description => "Perl 5.8.5"}, + {name => "perl5.8.5t", mode => "perl", description => "Perl 5.8.5 (threaded)"}, + {name => "perl5.8.4", mode => "perl", description => "Perl 5.8.4"}, + {name => "perl5.8.4t", mode => "perl", description => "Perl 5.8.4 (threaded)"}, + {name => "perl5.8.3", mode => "perl", description => "Perl 5.8.3"}, + {name => "perl5.8.3t", mode => "perl", description => "Perl 5.8.3 (threaded)"}, + {name => "perl5.8.2", mode => "perl", description => "Perl 5.8.2"}, + {name => "perl5.8.2t", mode => "perl", description => "Perl 5.8.2 (threaded)"}, + {name => "perl5.8.1", mode => "perl", description => "Perl 5.8.1"}, + {name => "perl5.8.1t", mode => "perl", description => "Perl 5.8.1 (threaded)"}, + {name => "perl5.8.0", mode => "perl", description => "Perl 5.8.0"}, + {name => "perl5.8.0t", mode => "perl", description => "Perl 5.8.0 (threaded)"}, + {name => "perl5.6.2", mode => "perl", description => "Perl 5.6.2"}, + {name => "perl5.6.2t", mode => "perl", description => "Perl 5.6.2 (threaded)"}, + {name => "perl5.6.1", mode => "perl", description => "Perl 5.6.1"}, + {name => "perl5.6.1t", mode => "perl", description => "Perl 5.6.1 (threaded)"}, + {name => "perl5.6.0", mode => "perl", description => "Perl 5.6.0"}, + {name => "perl5.6.0t", mode => "perl", description => "Perl 5.6.0 (threaded)"}, {name => "perl5.5", mode => "perl", description => "Perl 5.5"}, {name => "perl5.4", mode => "perl", description => "Perl 5.004"}, {name => "perl5.3", mode => "perl", description => "Perl 5.003"}, @@ -40,9 +145,6 @@ my @langs = ( {name => "perl3", mode => "perl", description => "Perl 3.0.1.10_44"}, {name => "perl2", mode => "perl", description => "Perl 2"}, {name => "perl1", mode => "perl", description => "Perl 1"}, - {name => "cperl", mode => "perl", description => "CPerl 5.26"}, - {name => "perl5.8.8", mode => "perl", description => "Perl 5.8.8 (Known bugs)"}, - {name => "perl5.10.0", mode => "perl", description => "Perl 5.10.0 (Known bugs)"}, );