Forum Webscript.Ru
		Программирование => Perl => Тема начата: Timur S. от 30 Октября 2002, 17:08:34
		
			
			- 
				Как записать в начало файла данные переменной.
			
 
			
			- 
				perldoc -f open
perldoc -f print
perldoc -f close
			 
			
			- 
				
	open(FILE, "	@FILE=;
	close(FILE);
	
	open(FILE, ">file");
	print FILE "$datastring"."\\n";
	print FILE @FILE;
	close(FILE);
Этож элементарно.
Если и этого не знаешь, срочно читай доки!
			 
			
			- 
				Опять по два раза файлы открываем.:))
perldoc -f seek
			 
			
			- 
				Зато на пальцах.
PS: Щас seek попробовал: хрень какая-то:
#!/usr/bin/perl
   $datastring=\'Yo!\'."\\n";
   open(FILE, ">>file");
   seek FILE,0,0;
   print FILE "$datastring"."\\n";
   close(FILE)
Добавила в конец, как и положено...
Ей, как я понял, нельзя при записи пользоваться?
У меня получилось только прочесть данные части файла...
			 
			
			- 
				Если открывать файл с ">>", то никакой seek уже не поможет: open IN, "+
			
			
- 
				Ни в одном случае не работает, мне нужно добавить в начало чайла а не заменить первую строчку. Кто поскажет как это сделать.
У меня работает так:
sysopen (FILE, O_RDWR);
@file = ;
seek FILE,0,0;
unshift (@file, "Запись в начало файла\\n");
print FILE @full;
close(FILE);
Можно ли обойтись без масива. ( для икономии памяти и для работы с большими файлами)
			 
			
			- 
				
Можно ли обойтись без масива.
Пиши во временный файл по частям, потом переименуй результирующий.
			 
			
			- 
				
Ни в одном случае не работает, мне нужно добавить в начало чайла а не заменить первую строчку. Кто поскажет как это сделать.
#!/usr/bin/perl
open (FILE, "+seek FILE,0,0;
@file = ;
unshift (@file, "Запись в начало файла\\n");
seek FILE,0,0;
print FILE @file;
close(FILE);