- 1
print "Match" if 'ab' =~ /^a?(?=b)b/;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−112
print "Match" if 'ab' =~ /^a?(?=b)b/;
Я не один раз находил ошибки в Perl особенно в Perl регулярных выражениях. Некоторые из них уже исправили, но одна остаётся и в версии ActiveState Perl 5.10.
−127
#!/bin/perl
use Crypt::Blowfish; use Crypt::CBC;
$encrypt_key= 'key';
$crypted_text = '53616c7465645f5fd56d1d101fb3adbf1d10cd5ce49b40868dd03da0de64c86bde6bfc3102e20aad6f4447b1fd1aacd8de66f6709cb643b56ebd16c8b8b6f86c0abc6dd6750ad3d71a558d7236102d8e730d11ded42a26d1';
$cipher_handle = new Crypt::CBC($encrypt_key,'Blowfish');
$text = $cipher_handle->decrypt_hex($crypted_text);
print $text;
Не говнокод.
−120
use strict;
use warnings;
my $expr = $ARGV[0] || die();
my $n = $ARGV[1] || die();
die if ($n < 1) || ($n > length($expr));
$expr =~ tr/[\xc0-\xdf]\xa8/[\xe0-\xff]\xb8/; # lc
($expr =~ m/^[\xe0-\xff\xb8\-]+$/s) || die();
open(F, 'index') || die("failed to open 'index': $!");
while (<F>)
{
chomp();
print "$_\n" if (match($_, $expr, $n));
}
close(F);
sub match
{
my ($str, $expr, $n) = @_;
return if length($str) != $n;
foreach my $letter (split(//, $str))
{
my $pos = index($expr, $letter);
return if ($pos < 0);
substr($expr, $pos, 1, '');
}
return 1;
}
собирает из букв слова
использовать совместно со словарем
вот мой это индекс русского вики
http://files.mail.ru/CNVUDS
−125
use Date::Calc qw (Delta_Days);
use strict;
my $delta = Delta_Days(1601, 1, 1, 2008, 8, 12);
print "Delta is $delta\n";
дни нашей жизни
−124
grep {$a_b_props = ($a_b_props && $a_b_props.".").(($block < 1)? &dupl($tempProps{$_}) : $tempProps{$_}) if /^[ab]_/} sort keys %tempProps;
туда же...
−124
@AoH_SUBSinFILE = map {&parseSubmodel($_, $block)} $g_file_content =~ m/\s*?(inst .+?vars \\.+?[^\\])\n/gs;
Говнокод4obfuscation :)
−124
sub WidthOf()
{
my %WIDTHES =('90','195','118','165', ... over9000 ...'43','255');
my $TextWidth;
map {$TextWidth += $WIDTHES{ord $_} || 200} split //,@_[0];
return $TextWidth;
}
−116
sub chooseType()
{
grep {return $_ if @_[0] =~ /$_/} (keys %TYPES);
return "";
}
люблю map и grep :)
−121
sub removeSpaces {
my $str = $_[0];
while ( $str =~ /[\t ]+/ ) {
$str = $`.$';
}
return $str;
}
Найдено при разборе скрипта подготовки данных для тестов.
−126
#!/usr/bin/perl
@zips = ();
while(<>){
@zips = m{([a-z]5[a-z])}igx;
for(my $j=0;$j<=$#zips;$j++){
$i = index($_,$zips[$j]);
print "$zips[$j] pos $i\n";
};
print "$zips\n";
}
Находит комбинацию буква 5 буква