Автор Тема: "самомодификация" DATA  (Прочитано 3469 раз)

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

Оффлайн Dipper

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.berezne.com
"самомодификация" DATA
« : 29 Октября 2002, 22:56:52 »
Была вот такая попытка изменить/добавить данные в блок
__DATA__ но безуспешная :(
Но нужно именно в данном скрипте сделать добавление, чтобы эти изменения сохранились  при следующем вызове. Подскажите плиз мож я не стого коонца захожу?

.........
$rd=();
print $rd;
print DATA "\\nother\\n";

__DATA__
master
.........
с наибестейшими вишисами и рыгадзами, Ваш Dobrodiy who DIPperSidE

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
"самомодификация" DATA
« Ответ #1 : 30 Октября 2002, 00:31:32 »
Ты не сможешь таким образом заставить твой сценарий изменить самого себя (если я тебя правильно понял). Для хранения данных используй внешний файл / БД.
Литературный перевод с русского и английского на Perl. Дорого!

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

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://risearch.org/
"самомодификация" DATA
« Ответ #2 : 30 Октября 2002, 01:10:52 »
Таким образом нет, а другим - сколько угодно.

file test.pl
======================================
#!perl

open SELF, ">>test.pl";
print SELF "\\nprint \\"File has been changed\\\\n\\";";
======================================

Все прекрасно изменяется.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
"самомодификация" DATA
« Ответ #3 : 30 Октября 2002, 08:51:31 »
[OFF]
Цитировать
а другим - сколько угодно
Вопрос - нужжно ли это?[/OFF]
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
"самомодификация" DATA
« Ответ #4 : 30 Октября 2002, 12:25:32 »
Цитировать
Вопрос - нужжно ли это?

Бывает удобнее всё в одном файле хранить, и данные и код.
Я так иногда делаю, если данные не добавить, а перезаписать надо:

      open(F,"<$0");
      $newLine=$/;
      $/="__DATA__\\n";
      $body=;
      close(F);
      $/=$newLine;

      open(F,">$0");
      print F $body;
      print F "Новые данные.";
      close(F);

Оффлайн Dipper

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.berezne.com
"самомодификация" DATA
« Ответ #5 : 31 Октября 2002, 19:10:02 »
В принципе - у меня сие действие одноразовое (перворазовое)
именно с целью
Цитировать
Бывает удобнее всё в одном файле хранить, и данные и код.


Огромное всем спасибо!
И пиво Evgeny :))
с наибестейшими вишисами и рыгадзами, Ваш Dobrodiy who DIPperSidE

 

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