Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> копирование файла 
:(
    Опции темы
Mindaly
  Дата 17.7.2011, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.7.2011

Репутация: нет
Всего: нет



Потребовалось скопировать 3721255 строчек из одного файла в другой. 
Я в Perl новичок, не подскажите как сделать так, чтобы не записывалась 3721256-я строка, представляющая собой пустую строку? 
Код

open($my_file1,">:raw:utf8", "pass.lst"); #открываем для записи
open($my_file2,"<", "all.lst"); #открываем для чтения 

while (($line = <$my_file2>) && ($. <= 3721255) ) {
 chomp $line; # убрать \n в последнем поле
 print ($my_file1 "$line\n");
 } 
close(my_file1);
close(my_file2);

PM MAIL   Вверх
dixoNICH
Дата 17.7.2011, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



Код

$/ = \0;
open F, "1.txt";
open P, ">2.txt";
$file1 = <F>;
print P $file1;
close F;
close P;


Это сообщение отредактировал(а) dixoNICH - 17.7.2011, 17:02
PM MAIL   Вверх
Mindaly
Дата 17.7.2011, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.7.2011

Репутация: нет
Всего: нет



Цитата(dixoNICH @ 17.7.2011,  17:02)
Код

$/ = \0;
open F, "1.txt";
open P, ">2.txt";
$file1 = <F>;
print P $file1;
close F;
close P;

Вы копируете весь файл, а мне надо только первые 3721255 строчек smile 



Это сообщение отредактировал(а) Mindaly - 17.7.2011, 17:38
PM MAIL   Вверх
dixoNICH
Дата 17.7.2011, 18:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 222
Регистрация: 20.3.2011

Репутация: нет
Всего: нет



Код

open($my_file1,">:raw:utf8", "pass.lst"); #открываем для записи
open($my_file2,"<", "all.lst"); #открываем для чтения 

while (($line = <$my_file2>) && ($. <= 3721255) ) {
 $o.=$line;
 } 
chomp $o;
print $my_file1 $o;
close(my_file1);
close(my_file2);

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0606 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.