Forum Webscript.Ru

Программирование => Perl => Тема начата: Morgan Megan от 18 Июля 2003, 08:43:21

Название: ПОмогите!!!
Отправлено: Morgan Megan от 18 Июля 2003, 08:43:21
Проблема такова - надо вытащить из файла строку,затем из неё определенное слово или символ.Просьба высылать с коментариями.Заранее спасибо!
Название: ПОмогите!!!
Отправлено: Chs от 18 Июля 2003, 09:29:50
perldoc -f open
perldoc -f close
perldoc perlop в части <>
perldoc perlre
Название: ПОмогите!!!
Отправлено: Morgan Megan от 18 Июля 2003, 10:01:17
Что нибудь более конкретное...?
Название: ПОмогите!!!
Отправлено: Morgan Megan от 18 Июля 2003, 10:09:33
Нашёл такое решение:
$file = "file.txt"; # Файл
$search = "Слово"; # Слово для поиска

open(FILE,"<$file");
while( ){
   if(/$search/i){
   print $search;
   }
}
close(FILE);
Но выдаётся "Слово", а мне надо всю строку...
Название: ПОмогите!!!
Отправлено: Morgan Megan от 18 Июля 2003, 10:28:14
Теперь:
$file = "file.txt"; # Файл
$search = "Слово"; # Слово для поиска

open(FILE,"$file)
or die("Cannot open file!");
while( ){
$input=readline(*FILE);
if(/$search/i){
print $input}
}
close(FILE);
Выводит только первую строку где есть "Слово"...Что делать?Надо все..
Название: ПОмогите!!!
Отправлено: Xander от 18 Июля 2003, 15:16:30
Что "все" тебе нужно?
вобще-то так:

open(FILE,"$file) or die("Cannot open file!");
while( ){
if(/$search/i) print $input; //(/$search/i) равнозначно ($_=~m/$search/)
}
close(FILE);

P.S. [off]я тоже люблю "Меч и Радугу" ;-)[/off]