Автор Тема: Как записать в начало файла данные переменной.  (Прочитано 5071 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как записать в начало файла данные переменной.
« Последнее редактирование: 12 Ноября 2002, 10:54:13 от Timur S. »

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как записать в дачало файла данные переменной.
« Ответ #1 : 30 Октября 2002, 17:30:35 »
perldoc -f open
perldoc -f print
perldoc -f close
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Как записать в дачало файла данные переменной.
« Ответ #2 : 30 Октября 2002, 17:34:25 »

open(FILE, " @FILE=;
close(FILE);

open(FILE, ">file");
print FILE "$datastring"."\\n";
print FILE @FILE;
close(FILE);

Этож элементарно.
Если и этого не знаешь, срочно читай доки!
Debian/GNU Linux is rulezz...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Как записать в дачало файла данные переменной.
« Ответ #3 : 30 Октября 2002, 23:01:11 »
Опять по два раза файлы открываем.:))
perldoc -f seek
2B OR NOT 2B = FF

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Как записать в дачало файла данные переменной.
« Ответ #4 : 30 Октября 2002, 23:22:41 »
Зато на пальцах.
PS: Щас seek попробовал: хрень какая-то:
#!/usr/bin/perl
   $datastring=\'Yo!\'."\\n";
   open(FILE, ">>file");
   seek FILE,0,0;
   print FILE "$datastring"."\\n";
   close(FILE)

Добавила в конец, как и положено...
Ей, как я понял, нельзя при записи пользоваться?
У меня получилось только прочесть данные части файла...
Debian/GNU Linux is rulezz...

Оффлайн КшЫуфксрук

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://risearch.org/
Как записать в дачало файла данные переменной.
« Ответ #5 : 31 Октября 2002, 01:48:19 »
Если открывать файл с ">>", то никакой seek уже не поможет: open IN, "+

Оффлайн Timur S.

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как записать в дачало файла данные переменной.
« Ответ #6 : 31 Октября 2002, 15:34:50 »
Ни в одном случае не работает, мне нужно добавить в начало чайла а не заменить первую строчку. Кто поскажет как это сделать.

У меня работает так:

sysopen (FILE, O_RDWR);
@file = ;
seek FILE,0,0;
unshift (@file, "Запись в начало файла\\n");
print FILE @full;
close(FILE);

Можно ли обойтись без масива. ( для икономии памяти и для работы с большими файлами)

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как записать в дачало файла данные переменной.
« Ответ #7 : 31 Октября 2002, 18:06:24 »
Цитировать
Можно ли обойтись без масива.

Пиши во временный файл по частям, потом переименуй результирующий.
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Как записать в дачало файла данные переменной.
« Ответ #8 : 31 Октября 2002, 21:52:10 »
Цитировать
Ни в одном случае не работает, мне нужно добавить в начало чайла а не заменить первую строчку. Кто поскажет как это сделать.

#!/usr/bin/perl

open (FILE, "+seek FILE,0,0;
@file = ;
unshift (@file, "Запись в начало файла\\n");
seek FILE,0,0;
print FILE @file;
close(FILE);
2B OR NOT 2B = FF

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28