Как производить замену, с помощью "s" во всем файле?
Необходимо заменить:
 на что-то другое, например "::"
 
 Для замены в строке я использую "s":
 $line =~ s     А в файле не знаю как.
 
 $line =~ s{<\\/td>\\n
 | }{::}ig; не помогает, понимаю, что что-то не так, но что? 
							
							 
								 
								Записан
							 
 
					
					
						
						
							
								
									
									
									« Ответ #1 : 22 Октября 2002, 19:26:15 » 
								$line =~ s{<\\/td>\\n| }{::}ig; не помогает \\n
 Попробуй:
 $line =~ s{
 | }{::}igs; \\n
							
							 
								 
								Записан
							 [ основной браузер когда-то был, теперь попробуй разберись =] 
 
					
					
						
						
							
								
									
									
									« Ответ #2 : 22 Октября 2002, 23:21:24 » 
								Ага, я еще и по-человечески написать не могу...
 Дело в том, что я открываю файл и читаю из него таким макаром:
 
 open(LINES_1,"   @lines = ;
 close(LINES_1);
 
 А $line - это только строчка из массива @lines и соответственно ничего не работает.
 
 Как сделать замену во всем массиве, а не только для строки?
 
 Ссори, что запутал...
 
							
							 
								 
								Записан
							 
 
					
					
						
						
							
								
									
									
									« Ответ #3 : 22 Октября 2002, 23:28:18 » 
								А $line - это только строчка из массива @lines и соответственно ничего не работает. это как?   надо просто перебрать все элементы массива и сделать замену в каждом. это уже описывалось недавно на форуме. 
							
							 
								 
								Записан
							 Не ходите, дети, без «Мозиллы» дальше localhost! 
 
					
					
						
						
							
								
									
									
									« Ответ #4 : 23 Октября 2002, 10:58:30 » 
								Насколько я понял, проблема в том, чтобы читать не по строкам, а весь файл целиком. Если файл небольшой, то (это таки уже обсуждалось...   ) undef $/;
 open LINES_1,"   $lines = ;
 $lines =~ s{
 | }{::}igs; ...
 close LINES_1;
 
 
							
							 
								 
								Записан
							 [ основной браузер когда-то был, теперь попробуй разберись =] 
 
					
					
						
						
							
								
									
									
									« Ответ #5 : 23 Октября 2002, 13:05:25 » 
								Файл - 220 000 строк   И надо обработать Перлом, а не PHP. 
							
							 
								 
								Записан
							 
 
					
					
						
						
							
								
									
									
									« Ответ #6 : 23 Октября 2002, 13:12:13 » 
								Ну и вперед! 
 PS. А при чем тут PHP??
 
							
							 
								 
								Записан
							 The documentations is your friend 
 
					
					
						
						
							
								
									
									
									« Ответ #7 : 23 Октября 2002, 13:28:16 » 
								NeoNoxА при чем тут PHP??      [OFF] Наверное это потому, что я код сначала в [php /php]заключил   [/OFF]YYYn Если памяти много - это не проблема. Кстати, @lines =  тоже читает весь файл в память. А если памяти нет или есть причина экономить, то нужно читать файл по частям. Но это малость посложнее будет.
 
							
							 
								 
								Записан
							 [ основной браузер когда-то был, теперь попробуй разберись =] 
 
					
					
						
						
							
								
									
									
									« Ответ #8 : 23 Октября 2002, 13:35:15 » 
								Если памяти много - это не проблема. У меня чуть меньше милиона строк в логе. Файл весит 21 метр. Мозгов на сервере 32 метра    Нагружает, конечно, но все Ок! Хотя, под окнами, может и повиснуть. Вероятно... 
							
							 
								 
								Записан
							 The documentations is your friend 
 
					
					
						
						
							
								
									
									
									« Ответ #9 : 23 Октября 2002, 18:41:20 » 
								NeoNox [OFF]Много/мало - это чистА субъективные понятия, в зависимости от ситуации   [/OFF] 
							
							 
								 
								Записан
							 [ основной браузер когда-то был, теперь попробуй разберись =] 
   
 |  |