ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

15.04.2008, 01:21
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
demonoid хех код выдаёт ошибку.
я тоже пробывывал неполучается
Код:
%hash = (
'zalupa1' => 'malenkaya',
'zalupa2' => 'srednyaya',
'zalupa3' => 'bolshaya'
);
foreach ( keys %hash )
{
if($hash{$_}='bolshaya'){print $_;}
}
блин циклы в перле ведут себя не так как в пхп и джаваскрипте
|
|
|

15.04.2008, 02:00
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Код:
%hash = (
.....
if($hash{$_} eq 'bolshaya'){print $_;}
.....
}
|
|
|

15.04.2008, 02:18
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
demonoid ок ещё раз спасибо .всё работает
|
|
|

15.04.2008, 06:20
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
Неподскажите как экранировать "\" в функции split
пример
Код:
$fullitself="gggg\ddddd\zzzzz\rrrrrr";
@temp=split('\',$fullitself);
print @temp[1];
я уж и chr() пробывал
Код:
$fullitself="gggg\ddddd\zzzzz\rrrrrr";
@temp=split(chr(92),$fullitself);
print @temp[1];
ничего не помогает.
|
|
|

15.04.2008, 07:06
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Код:
$fullitself="gggg\\ddddd\\zzzzz\\rrrrrr";
@temp = split ('\\\\', $fullitself);
print @temp[1];
|
|
|

15.04.2008, 12:26
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
При двойных кавычек строка интерполируется ,
интерпретатор не может понять эскейп последовательность \d и \z
Код:
$fullitself='gggg\ddddd\zzzzz\rrrrrr';
@temp=split(/\\/,$fullitself);
print $temp[1];
|
|
|

15.04.2008, 16:43
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
Ещё раз спасибо
|
|
|

17.04.2008, 21:23
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
Ещё один вопрос. как сделать что бы в цикле переберались файлы а в ключи хеша заносились имена файлов а в значение хеша их содержимое
я пробывал так .например (где в массиве @files содержатся пути файлов)
Код:
foreach ( @files )
{
open(LOGFILE, '<', $_);
$zet{$_}=<LOGFILE>;
}
но в значения хеша заносятся только первые строчки файлов а не всё их содержимое.
я знаю что <LOGFILE> открывается массивом в котором скажем 1вая строчка файла = @massiv[0] итд. но вот как в значения хеша записать всё содержимое массива?
ведь нельзя применить sort() к <LOGFILE> как к массиву
буду благодарен
Последний раз редактировалось ZET36; 17.04.2008 в 21:28..
|
|
|

18.04.2008, 00:19
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Код:
#!perl -w
use strict;
my %h;
my @files = ( 'FILE2.txt','FILE1.txt','FILE3.txt' );
foreach my $key ( @files )
{
next unless -r $key;
open( LOGFILE,"<$key" );
while( <LOGFILE> )
{
$h{$key} .= $_;
}
close LOGFILE;
}
К чему здесь sort я не понял ..
|
|
|

18.04.2008, 00:29
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
demonoid в 4 раз выручаеш спасибо))
а sort() я хотел использывать что бы перевести массив в строку и присвоить её значению хеша без использовании второго цикла
Последний раз редактировалось ZET36; 18.04.2008 в 00:34..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|