codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#!/perl use strict; my $arg = '|/||||';#$ARGV[0]; #массив, четные элементы - что заменяем #нечетные - на что заменяем my @replacement = ( '%*' , '*%', '%|' , '%*', '*|' , '**', '|*' , 't', 't*' , '*t', 't%' , '%t', '%t' , '%v|', 't' , '|', '%v' , '?d', '?d' , 'd?', '|d' , 'd|', '?' , '%', '*d' , 'h', 'h*' , 'oh', 'h%' , 'h', 'h' , '', '*' , '', 'd' , '|_', '/|' , '-k', 'k|' , 'kk', 'k' , '|+', '+|' , '|+', '-' , 'ey', '|e' , 'e|', 'y' , '%', 'eo' , '0o', 'e' , '', '|_' , '.a', 'a.' , '.a', '..' , '.', '.aaaaaaaaaa' , 'a,.', ',a' , 'a,', '.aaaaaaaaa' , '9', '.aaaaaaaa' , '8', '.aaaaaaa' , '7', '.aaaaaa' , '6', '.aaaaa' , '5', '.aaaa' , '4', '.aaa' , '3', '.aa' , '2', '.a' , '1', '.' , '0', ',' , '', 'a' , '.a', 'o' , 'p||||||||||', '|p' , 'p|', 'pp' , 'p', '%' , 'u', 'u+' , 'u', 'u' , '_', '|+' , '|)+', ')' , '(>', '>+' , '+>', '+' , '{', '{' , '|', '>>>>>' , '=', '|=' , '=', '(=' , '=', '(' , '/', 'p=' , '=<', '<0' , '0<', '<1' , '1<', '<2' , '2<', '<3' , '3<', '<4' , '4<', '<5' , '5<', '<6' , '6<', '<7' , '7<', '<8' , '8<', '<9' , '9<', '<<<<<' , '$', '0$' , '$0', '1$' , '$1', '2$' , '$2', '3$' , '$3', '4$' , '$4', '5$' , '$5', '6$' , '$6', '7$' , '$7', '8$' , '$8', '9$' , '$9', '=$' , '.FIN', '0=' , '=0', '1=' , '=1', '2=' , '=2', '3=' , '=3', '4=' , '=4', '5=' , '=5', '6=' , '=6', '7=' , '=7', '8=' , '=8', '9=' , '=9', '_>' , '', '0>' , '>0', '1>' , '>1', '2>' , '>2', '3>' , '>3', '4>' , '>4', '5>' , '>5', '6>' , '>6', '7>' , '>7', '8>' , '>8', '9>' , '>9', 'p>' , '', 'p' , '.FIN', '_' , '.FIN', ); my $length = scalar(@replacement) / 2;#длина половины массива while (1) { my $found = 0; for (my $i = 0; $i < $length; $i++) { my $what = quotemeta($replacement[$i * 2]);#quotemeta - экранируем символы if ($arg =~ /$what/) {#проверяем можно ли заменить $found = 1; my $rep = $replacement[$i * 2 + 1]; print "$arg, $what => $rep\n"; $arg =~ s/$what/$rep/;#заменяем $what на $rep print $arg . "\n";#выводим замену #если есть слово FIN, то заканчиваем if ($arg =~ /FIN/) { $found = 0; #удаляем слово FIN print "$arg, FIN => \n"; $arg =~ s/FIN//; } last;#выход из цикла } } if (!$found) { last;#выход из цикла } } print $arg . "\n";
Private
[
?
]
Run code
Submit