- 1
map { push @{ $cgih->{add_result}->{errors} }, 'НЕ добавлено: ' . $_->{title} } @failed_comps;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−116
map { push @{ $cgih->{add_result}->{errors} }, 'НЕ добавлено: ' . $_->{title} } @failed_comps;
Видимо теперь использовать for это уже не по-пацански!
−155
$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see
−121
sub captcha {
my $msg = $_[0];
## make colors for validation image into hex again ##
$rgb_foreground =~ s/\#//g;
$rgb_shade =~ s/\#//g;
$rgb_background =~ s/\#//g;
$r_f = substr($rgb_foreground,0,2);
$g_f = substr($rgb_foreground,2,2);
$b_f = substr($rgb_foreground,4,2);
$r_s = substr($rgb_shade,0,2);
$g_s = substr($rgb_shade,2,2);
$b_s = substr($rgb_shade,4,2);
$r_b = substr($rgb_background,0,2);
$g_b = substr($rgb_background,2,2);
$b_b = substr($rgb_background,4,2);
// Тут я вырезал кусок никчемного кода
$ci{' '} = qq~
.......
.......
.......
.......
.......
.......
.......
.......
.......
.......
~;
$ci{'!'} = qq~
.......
...X...
...X...
...X...
...X...
...X...
.......
...X...
.......
.......
~;
$ci{'"'} = qq~
.......
..X.X..
..X.X..
..X.X..
.......
.......
.......
.......
.......
.......
~;
$ci{'#'} = qq~
.......
..X.X..
..X.X..
.XXXXX.
..X.X..
.XXXXX.
..X.X..
..X.X..
.......
.......
~;
$ci{'$'} = qq~
.......
...X...
..XXXX.
.X.X...
..XXX..
...X.X.
.XXXX..
...X...
.......
.......
~;
// Дальше идет вся таблица ASCII
Вот таким вот образом выводили каптчу в далеком 2009 году. Очень надежный метод :)
−122
sub generate_code {
my ($arrey_pos,$code);
my @arrey = ('a'..'q', 'C'..'O', '1'..'9', 'g'..'u', 'l'..'z', '9'..'1', 'H'..'W');
for (my $i = 0; $i < $_[0]; $i++) {
$arrey_pos = int(rand($#arrey));
$code .= $arrey[$arrey_pos];
}
$code;
}
Генерация кода.
−155
sub write_cookie {
my %params = @_;
if ($params{'-expires'} =~ /\+(\d+)m/) {
my ($sec, $min, $hour, $mday, $mon, $year, $wday) = gmtime($date + $1 * 60);
$year += 1900;
my @mos = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
my @dys = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
$mon = $mos[$mon];
$wday = $dys[$wday];
$params{'-expires'} = sprintf("%s, %02i-%s-%04i %02i:%02i:%02i GMT", $wday, $mday, $mon, $year, $hour, $min, $sec);
}
$params{'-path'} = " path=$params{'-path'};" if $params{'-path'};
$params{'-expires'} = " expires=$params{'-expires'};" if $params{'-expires'};
"$params{'-name'}=$params{'-value'};$params{'-path'}$params{'-expires'}";
}
setcookie() Perl-вариант.
−119
sub mainMenu {
if ($action eq "addtab" && $iamadmin) { require "$sourcedir/AdvancedTabs.pl"; &AddNewTab; }
elsif ($action eq "edittab" && $iamadmin) { require "$sourcedir/AdvancedTabs.pl"; &EditTab; }
elsif ($action ne "") {
if ($action eq "search2") {
$tmpaction = "search";
} elsif ($action eq "favorites" || $action eq "shownotify" || $action eq "im" || $action eq "imdraft" || $action eq "imoutbox" || $action eq "imstorage" || $action eq "imsend" || $action eq "imsend2" || $action eq "imshow" || $action eq "profileCheck" || $action eq "myviewprofile" || $action eq "myprofile" || $action eq "myprofileContacts" || $action eq "myprofileOptions" || $action eq "myprofileBuddy" || $action eq "myprofileIM" || $action eq "myprofileAdmin" || $action eq "myusersrecentposts") {
$tmpaction = "mycenter";
} elsif ($action eq "messagepagetext" || $action eq "messagepagedrop" || $action eq "threadpagetext" || $action eq "threadpagedrop" || $action eq "post" || $action eq "notify" || $action eq "boardnotify" || $action eq "sendtopic" || $action eq "modify") {
$tmpaction = "home";
} elsif ($action eq "guestpm2") {
$tmpaction = "guestpm";
} else { $tmpaction = $action; }
} else {
$tmpaction = "home";
}
$tab{'home'} = qq~<span |><a href="$scripturl" title = "$img_txt{'103'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'103'}$tabfill</a></span>~;
$tab{'help'} = qq~<span |><a href="$scripturl?action=help" title = "$img_txt{'119'}" style="padding: 3px 0 4px 0; cursor:help;">$tabfill$img_txt{'119'}$tabfill</a></span>~;
if ($maxsearchdisplay > -1) {
$tab{'search'} = qq~<span |><a href="$scripturl?action=search" title = "$img_txt{'182'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'182'}$tabfill</a></span>~;
}
if (!$ML_Allowed || ($ML_Allowed == 1 && !$iamguest) || ($ML_Allowed == 2 && $staff) || ($ML_Allowed == 3 && ($iamadmin || $iamgmod))) {
$tab{'ml'} = qq~<span |><a href="$scripturl?action=ml" title = "$img_txt{'331'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'331'}$tabfill</a></span>~;
}
if ($iamadmin) {
$tab{'admin'} = qq~<span |><a href="$boardurl/AdminIndex.$yyaext" title = "$img_txt{'2'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'2'}$tabfill</a></span>~;
}
if ($iamgmod) {
if (-e "$vardir/gmodsettings.txt") { require "$vardir/gmodsettings.txt"; }
if ($allow_gmod_admin) {
$tab{'admin'} = qq~<span |><a href="$boardurl/AdminIndex.$yyaext" title = "$img_txt{'2'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'2'}$tabfill</a></span>~;
}
}
if ($sessionvalid == 0 && !$iamguest) {
my $sesredir;
unless (!$testenv || $action eq "revalidatesession" || $action eq "revalidatesession2") {
$sesredir = $testenv;
$sesredir =~ s/\=/\~/g;
$sesredir =~ s/;/x3B/g;
$sesredir = qq~;sesredir=$sesredir~;
}
$tab{'revalidatesession'} = qq~<span |><a href="$scripturl?action=revalidatesession$sesredir" title = "$img_txt{'34a'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'34a'}$tabfill</a></span>~;
}
// далее мало что меняется в стиле...
Формируем меню...
−103
if (-e '/etc/passwd') {
# assume Unix
...
}
else {
# assume NT
...
}
так в круто-мегабаксовом ClearCase IBM программисты определяют в Перле запущен ли скрипт под Виндой или под *NIXком. наши админы долго смеялись, но по приколу сохранили этот кусок как было в оригинале.
−123
@rem = '--*-Perl-*--
@echo off
if "%OS%" == "Windows_NT" goto WinNT
perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
goto endofperl
:WinNT
perl -x -S %0 %*
if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
if %errorlevel% == 9009 echo You do not have Perl in your PATH.
if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
goto endofperl
@rem ';
#!perl
#line 15
eval 'exec C:\TEMP\perl---please-run-the-install-script---\bin\perl.exe -S $0 ${1+"$@"}'
if $running_under_some_shell;
#!/usr/bin/perl
# $Id: cpan,v 1.9 2006/11/01 21:49:31 comdog Exp $
use strict;
−126
sub Tgetent {
local($TERM) = @_;
local($TERMCAP,$_,$entry,$loop,$field);
# warn "Tgetent: no ospeed set" unless $ospeed;
foreach $key (keys %TC) {
delete $TC{$key};
}
$TERM = $ENV{'TERM'} unless $TERM;
$TERM =~ s/(\W)/\\$1/g;
$TERMCAP = $ENV{'TERMCAP'};
$TERMCAP = '/etc/termcap' unless $TERMCAP;
if ($TERMCAP !~ m:^/:) {
if ($TERMCAP !~ /(^|\|)$TERM[:\|]/) {
$TERMCAP = '/etc/termcap';
}
}
if ($TERMCAP =~ m:^/:) {
$entry = '';
do {
$loop = "
open(TERMCAP,'<$TERMCAP') || die \"Can't open $TERMCAP\";
while (<TERMCAP>) {
next if /^#/;
next if /^\t/;
if (/(^|\\|)${TERM}[:\\|]/) {
chop;
while (chop eq '\\\\') {
\$_ .= <TERMCAP>;
chop;
}
\$_ .= ':';
last;
}
}
close TERMCAP;
\$entry .= \$_;
";
eval $loop;
} while s/:tc=([^:]+):/:/ && ($TERM = $1);
$TERMCAP = $entry;
}
foreach $field (split(/:[\s:\\]*/,$TERMCAP)) {
if ($field =~ /^\w\w$/) {
$TC{$field} = 1;
}
elsif ($field =~ /^(\w\w)#(.*)/) {
$TC{$1} = $2 if $TC{$1} eq '';
}
elsif ($field =~ /^(\w\w)=(.*)/) {
$entry = $1;
$_ = $2;
s/\\E/\033/g;
s/\\(200)/pack('c',0)/eg; # NUL character
s/\\(0\d\d)/pack('c',oct($1))/eg; # octal
s/\\(0x[0-9A-Fa-f][0-9A-Fa-f])/pack('c',hex($1))/eg; # hex
s/\\(\d\d\d)/pack('c',$1 & 0177)/eg;
s/\\n/\n/g;
s/\\r/\r/g;
s/\\t/\t/g;
s/\\b/\b/g;
s/\\f/\f/g;
s/\\\^/\377/g;
s/\^\?/\177/g;
s/\^(.)/pack('c',ord($1) & 31)/eg;
s/\\(.)/$1/g;
s/\377/^/g;
$TC{$entry} = $_ if $TC{$entry} eq '';
}
}
$TC{'pc'} = "\0" if $TC{'pc'} eq '';
$TC{'bc'} = "\b" if $TC{'bc'} eq '';
}
Гениальный код.
−125
while (<>)
{
chomp;
s/\r$//;
next unless $_;
my ($tag, $value) = split / /, $_, 2;
die "Font is not fixed width\n"
if $tag eq 'SPACING' and not $value =~ /[CM]/i;
$currentchar = $value if $tag eq 'ENCODING';
$minchar = $currentchar if not defined $minchar
or ($currentchar < $minchar && $currentchar >= 0);
$maxchar = $currentchar if not defined $maxchar
or ($currentchar > $maxchar && $currentchar >= 0);
И дальше в том же духе...
Взято из файла bdf2gdfont.pl