Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: применить рег выражение к каждому элементу массива (Perl)
 
 автор: Nextia   (13.08.2010 в 10:08)   письмо автору
 
 


#тут некие операции
@files = $t->cmd("ls -a -l");
 foreach $file(@files)
{$pattern='*.bak';
#необходимо применить данное регулярное выражение к элементам массива, Здесь не соображу как написать
#при совпадении сделать следующие:
$file=$t->cmd("put $file tftp://address/dir/")
 }


Помогите пожалуйста с синтаксисом...

  Ответить  
 
 автор: Trianon   (13.08.2010 в 11:14)   письмо автору
 
   для: Nextia   (13.08.2010 в 10:08)
 

начать с того, что *.bak - это не регулярное выражение.

что это за язык?

  Ответить  
 
 автор: Nextia   (16.08.2010 в 01:49)   письмо автору
 
   для: Trianon   (13.08.2010 в 11:14)
 

>начать с того, что *.bak - это не регулярное выражение.
это пока шаблон (пятница 13 конец дня, зло) на соответствие которому надо бы проверить массив :-( файлов, а при совпадении - скопировать.
>
>что это за язык?
это перл+ один жутко специфический модуль, под одну жутко специфичную железку :-(

  Ответить  
 
 автор: .....   (16.08.2010 в 02:43)
 
   для: Nextia   (16.08.2010 в 01:49)
 

похоже на шаблон для glob()
#!/usr/local/perl/bin/perl -w
#<?perl
print "Content-type: text/html\n\n";
# use File::Glob ':glob';

 
my @list = glob('*[.]pl');
      print 
"@list<hr>\n";
 while( 
glob '*[.]pl'  ){
      print 
"$_<br>\n";
 }

  Ответить  
 
 автор: Nextia   (17.08.2010 в 07:37)   письмо автору
 
   для: .....   (16.08.2010 в 02:43)
 

похоже :-)
на самом деле библиотека Net::Telnet.
надо отобрать файлы по шаблону-все что совпадает, скопировать на принимающий ПК. :-(
Через сокеты нельзя - так как поддерживается только одно соединение.

  Ответить  
 
 автор: .....   (17.08.2010 в 12:13)
 
   для: Nextia   (17.08.2010 в 07:37)
 

возможно что кроме просто проверки условия if ($txt =~ m/...../i ) {......} и мало чего можно придумать.
#!h:/usr/local/perl/bin/perl -w
#<?perl
 
print "Content-type: text/plain\n\n";
 
while(<
1.txt 2.txt 3.bak 5.bak 7.txt>) {
    print if /\.
bak$/;
}

  Ответить  
 
 автор: .....   (17.08.2010 в 12:20)
 
   для: .....   (17.08.2010 в 12:13)
 

/\\.bak/i

форум слэш вырезал

  Ответить  
 
 автор: .....   (17.08.2010 в 12:21)
 
   для: .....   (17.08.2010 в 12:20)
 

/\.bak$/i
:)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования