- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
sub hex_to_string
{
my ($res, $str, $i) = ("", shift, 0);
$str =~ tr/A-Z/a-z/;
while ($i < length($str))
{
my $m = ord(substr($str, $i++, 1));
my $n = ord(substr($str, $i++, 1));
if ($m >= 48 && $m <= 57)
{
$m -= 48;
}
if ($m >= 97 && $m <= 102)
{
$m = 10 + $m - 97;
}
if ($n >= 48 && $n <= 57)
{
$n -= 48;
}
if ($n >= 97 && $n <= 102)
{
$n = 10 + $n - 97;
}
$res .= chr($m * 16 + $n);
}
$res = join("\n", split(/\r\n/, $res));
return $res;
}
Печально, что силу регулярок недооценивают.
sub hex_to_string($)
{
my $input_hex_data = shift;
my $result = $input_hex_data;
$result =~ s/([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg;
return $result;
}
Lure Of Chaos 07.07.2011 16:40 # 0
This is obvious 07.07.2011 17:14 # +4
Lure Of Chaos 07.07.2011 17:25 # +3
Dummy00001 07.07.2011 17:57 # +2
вдобавок простые регулярные выражения перл заменяет на обычные строчные операции. поэтому извращатся со строчными операциями в перле не имеет смысла - регулярками и проще и так же эффктивно.
на 5.14 код приведеный свыше можно переписать так:
хотя все равно говно потому что даже и функцию для этого заводить не надо потому что совсем правильно это делается так:
guest 07.07.2011 18:41 # −2
Может быть наоборот, обычно извращаются с регулярками?
Dummy00001 07.07.2011 18:42 # +2
carsten 10.07.2011 14:18 # −1
Lure Of Chaos 10.07.2011 19:22 # +2
"человеческий" синтаксис означал бы тот факт, что парсер был бы сложный и медленный.
Конечно, вы сами можете придумать таковой и написать парсер или конвертор, но, боюсь, попытка эта подобна 1С
koodeer 11.07.2011 17:42 # −2
Удобно, парсируемо, читабельно, по скорости рвёт регулярки в клочья.
ПыСы: но, увы, почти никому не известно...
Lure Of Chaos 11.07.2011 19:15 # 0
antoha_by 10.07.2011 21:35 # −4
Тоже самое и с английскими вставками в русский язык. Просто легче выразить, но не знающий их изливает горы непонимания.
Lure Of Chaos 10.07.2011 22:03 # 0
bugmenot 10.07.2011 22:05 # 0
> набираешся
просто неудачный пост
antoha_by 11.07.2011 13:04 # 0
bugmenot 11.07.2011 17:30 # +1
сначала надо осилить связность предложений
antoha_by 11.07.2011 13:08 # −1
Но упрощения могут привести еще больше непонимания.
Просто всё упирается в непонимание .i.
Lure Of Chaos 10.07.2011 22:05 # +2
bugmenot 11.07.2011 00:14 # −1
Lure Of Chaos 11.07.2011 19:17 # 0
bugmenot 11.07.2011 19:35 # 0
Lure Of Chaos 11.07.2011 20:00 # +1
bugmenot 11.07.2011 20:52 # +1
причём с завидной регулярностью
Lure Of Chaos 12.07.2011 16:18 # 0
guest8 09.04.2019 11:09 # −999