The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите с массивом в perl "
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите с массивом в perl " 
Сообщение от Maxim Milyh emailИскать по авторуВ закладки on 03-Май-05, 17:18  (MSK)
есть скрипт который читает файл и пишет его в базу
#!/usr/bin/perl -w
use DBI;
use Getopt::Std;
use POSIX qw(strftime);
$DB_NAME    = 'XXXXX';
$DB_USER    = 'XXXXXX';
$DB_PASS    = 'XXXXX';
$DETAIL     = 'templog';
open DETAIL, "<$DETAIL";
$dbh   = DBI->connect("DBI:Pg:dbname=$DB_NAME", $DB_USER, $DB_PASS);
$sth   = $dbh->prepare("insert into logs (msg) values(?) ;");
$|=1;
while (<DETAIL>)
  {
  chomp;
  @lines=split(' ');
    $msg = $lines[7];
    $sth->execute(
$msg) || die "cannot transfer data";
  }
$dbh->disconnect;
не могу задать интервал например [7..15], то есть из массива выделить несколько частей.На входе лог файл с буквами и цифрами.Если делать без базы и файла а просто создать массив цифровой, то все работает если указать [7..15], подскажите что не так делаю.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите с массивом в perl " 
Сообщение от qwerty Искать по авторуВ закладки(??) on 03-Май-05, 19:30  (MSK)
@newarray=@old_array[7..15];

поищи инфу в гугле по срезам массивов вперле

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите с массивом в perl " 
Сообщение от Skif Искать по авторуВ закладки(??) on 07-Май-05, 01:03  (MSK)
>есть скрипт который читает файл и пишет его в базу
>#!/usr/bin/perl -w
>use DBI;
>use Getopt::Std;
>use POSIX qw(strftime);
>$DB_NAME    = 'XXXXX';
>$DB_USER    = 'XXXXXX';
>$DB_PASS    = 'XXXXX';
>$DETAIL     = 'templog';
>open DETAIL, "<$DETAIL";
>$dbh   = DBI->connect("DBI:Pg:dbname=$DB_NAME", $DB_USER, $DB_PASS);
>$sth   = $dbh->prepare("insert into logs (msg) values(?) ;");
>$|=1;
>while (<DETAIL>)
>  {
chomp $_;
@lines=split(/[\s\t]+/,$_);
$msg = $lines[7];
  $sth->execute($msg) || die "cannot transfer data";
  }
$dbh->disconnect;

==== [\s\t]+ будет включать все последовательности пробельных символов и символов табуляций.
напрмер пробел обозначим симолом подчеркивания _ тогда
word_word_word__word
При твоем разбивании разобьет не на четыре слова, а на пять, четвертое будет иметь значение undef

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Помогите с массивом в perl " 
Сообщение от aidmax emailИскать по авторуВ закладки(ok) on 07-Май-05, 11:29  (MSK)
>>есть скрипт который читает файл и пишет его в базу
>>#!/usr/bin/perl -w
>>use DBI;
>>use Getopt::Std;
>>use POSIX qw(strftime);
>>$DB_NAME    = 'XXXXX';
>>$DB_USER    = 'XXXXXX';
>>$DB_PASS    = 'XXXXX';
>>$DETAIL     = 'templog';
>>open DETAIL, "<$DETAIL";
>>$dbh   = DBI->connect("DBI:Pg:dbname=$DB_NAME", $DB_USER, $DB_PASS);
>>$sth   = $dbh->prepare("insert into logs (msg) values(?) ;");
>>$|=1;
>>while (<DETAIL>)
>>  {
> chomp $_;
>@lines=split(/[\s\t]+/,$_);
> $msg = $lines[7];
>  $sth->execute($msg) || die "cannot transfer data";
>  }
>$dbh->disconnect;
>
>==== [\s\t]+ будет включать все последовательности пробельных символов и символов табуляций.
>напрмер пробел обозначим симолом подчеркивания _ тогда
>word_word_word__word
>При твоем разбивании разобьет не на четыре слова, а на пять, четвертое
>будет иметь значение undef
Всем большое спасибо
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Помогите с массивом в perl " 
Сообщение от jonatan Искать по авторуВ закладки(??) on 07-Май-05, 14:52  (MSK)
>==== [\s\t]+ будет включать все последовательности пробельных символов и символов табуляций.
Сори, но ведь \s включает и табуляцию (\r, \t, \n, \f). Зачем отдельно указывать \t?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру