| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > работа с файлами в PERL |
| Автор: nerv 27.3.2007, 10:21 |
| возикла следующая проблема. есть 2 текстовых файла *.txt. необходимо организовать поиск подстрок из одного файла в строках другого. срандартные операции типа index, !~s, ~s и проч. напроч отказываются работать со строковыми переменными такого типа. работают только в том случае, если исследуемые строку и подстроку прописать в теле программы. а мне бы очень хотелось (это необходимо) этого избежать |
| Автор: tishaishii 27.3.2007, 10:35 |
| Могут работать /\Q$_\E/. Только оно не за чем, если просто по подстроке, а не по шаблону. Используй index. |
| Автор: nerv 29.3.2007, 13:49 |
| index не пашет. вот это работает: $a="wtdfwefdhgvhvhhfhbvkerb"; print '$a=',$a,"\n\n"; $s="fdh"; print '$s=',$s,"\n\n"; $pos=-1; while(($pos=index($a,$s,$pos))>-1) { print "найдено в позиции $pos\n"; $pos++; } print "\n\n\n"; а это нет: $q=@mas_1[2]; print '$q=',$q,"\n\n"; $w=@mas_2[0]; print '$w=',$w,"\n\n"; $pos_=-1; while(($pos_=index($q,$w,$pos_))>-1) { print "найдено в позиции $pos_\n"; } здесь @mas_1[2] и @mas_2[0] это строки в массивах строк, записанных в 2х соответствующих файлах |
| Автор: arto 29.3.2007, 13:57 |
| >cat > a1.txt test1 test2 ^C >cat > a2.txt sdvkbsafvlksanbv swvljksabvtest1aefchweflh swfhwslhvrf test1 asefheafj test ^C >grep -fa1.txt a2.txt swvljksabvtest1aefchweflh test1 |
| Автор: nitr 29.3.2007, 14:52 |
| Ребята "давайте жить дружно" Форум многофункционален ;) - проще говоря, подсветку сделайте для код... Надеюсь как это делается ненадо учить... |
| Автор: tishaishii 30.3.2007, 19:30 | ||
"index" не пашет, а сам пишешь "index". |