ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[Perl] Извлечение текста
  #1  
Старый 07.04.2010, 13:49
Аватар для apofis
apofis
Познающий
Регистрация: 23.02.2009
Сообщений: 35
Провел на форуме:
267868

Репутация: 0
По умолчанию [Perl] Извлечение текста

Приветсвую!

Хочу спросить, можно ли как-нибудь извлечь текст?

Например, как можно извлечь стих, отсюда?

ASPuskin У лукоморья дуб зеленый;
Златая цепь на дубе том:
И днем и ночью кот ученый
Все ходит по цепи кругом;
Идет направо - песнь заводит,
Налево - сказку говорит. end

Т.е. нужно извлечь текст от "ASPuskin " до " end".
 
Ответить с цитированием

  #2  
Старый 07.04.2010, 13:55
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Регуляркой
Код:
$text =~ /ASPuskin (.+?) end/smi;
 
Ответить с цитированием

  #3  
Старый 07.04.2010, 18:52
Аватар для apofis
apofis
Познающий
Регистрация: 23.02.2009
Сообщений: 35
Провел на форуме:
267868

Репутация: 0
По умолчанию

Ок, спасибо!
 
Ответить с цитированием

  #4  
Старый 09.04.2010, 14:30
Аватар для apofis
apofis
Познающий
Регистрация: 23.02.2009
Сообщений: 35
Провел на форуме:
267868

Репутация: 0
По умолчанию

Есть еще один вопрос. Как можно извлечь этот же текст из файла, который, например называется stih.txt и находится в одной папке со скриптом?
 
Ответить с цитированием

  #5  
Старый 09.04.2010, 14:54
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Код:
#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use open qw /:std :utf8/;

$\ = "\n";
die "wrong param count" unless scalar @ARGV == 1;
open my $F, '<', $ARGV[0] or die "open() error: $!";
my $text;
$text .= $_ while <$F>;
close $F;
my ($stih) = $text =~ /ASPuskin (.+?) end/smi;
print $stih;
Имя файла передается скрипту как параметр
 
Ответить с цитированием

  #6  
Старый 09.04.2010, 16:36
Аватар для apofis
apofis
Познающий
Регистрация: 23.02.2009
Сообщений: 35
Провел на форуме:
267868

Репутация: 0
По умолчанию

Не совсем понятен этот код.
Ладно, задам другой вопрос:

Как можно сделать чтобы переменная была равна массиву? Я например открываю файл, т.е. @stih - это содержимое текстового файла.

Нужно сделать, чтобы $text = @stih, т.е. чтобы $text тоже содержал весь стих, чтобы потом из него потом уже извлечь то что нужно.
 
Ответить с цитированием

  #7  
Старый 09.04.2010, 19:18
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Ну напиши $text = join "\n", @stih;
Или читай содержимое файла по-другому...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется перевод текста [анг->рус] m0le[x] О Работе 2 07.12.2009 10:39
Цвет текста в Mozila Frifox 3.5 НTL Болталка 2 27.07.2009 16:52
Приобрету скрипт для рандома текста: синонимами, заменяющими буквы русского текста на writtengen О Работе 7 26.05.2009 12:27
Помогите с парсером [Perl] $p01nt PHP, PERL, MySQL, JavaScript 2 16.02.2009 15:23



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ