Страница 1 из 1

Кусок кода на perl

Добавлено: 2008-10-24 18:05:01
Dron
Вобщем есть такой кусок кода:

Код: Выделить всё

my @usergroups = split( /\s/, do { open my $groups, "-|", groups => $user; <$groups> } );
foreach (@usergroups) {
    my $groupmap  = "groupmap.$_";
    my @groupname = $cfg->param($groupmap);
    drive_map(@groupname);
}

Код: Выделить всё

$, = ' ';print @usergroups;
дает такую строчку:

Код: Выделить всё

Domain Users bug 
это для определенного пользователя, у другого может быть другой набор и/или количество

необходимо чтобы foreach получил не Domain User bug а Domain Domain1 Domain2 User User1 User2 bug bug1 bug2

т.е. разобрать @usergroups на составные значения
берем значение на основе его формируем знач знач1 знач2 (например: было bug, стало bug bug1 bug2)
и так для каждого значения....
потом собрать обратно...

Я просто сам перла не знаю, а скрипт надо заставить работать :crazy:

Re: Кусок кода на perl

Добавлено: 2008-10-24 18:07:35
zingel

Re: Кусок кода на perl

Добавлено: 2008-10-27 17:05:57
Dron
A причем DNS? :)

взять список (массив или как это в perl называется) @usergroups
и на основе его сделать другой массив...

например:
в @usergroups есть:
Domain
User
bug

надо:
Domain
Domain1
Domain2
User
User1
User2
bug
bug1
bug2

Re: Кусок кода на perl

Добавлено: 2008-10-28 2:20:44
ProFTP
проведи через цикл(ы), и к значниеи добавить 1,2
или сделай 3 массива, потом соедини их

а смысл это делать, напиши просто:

Код: Выделить всё

my @usergroups = (Domain,Domain1,Domain2,User,User1,User2);
или я не понял нафига это надо тебе...

Re: Кусок кода на perl

Добавлено: 2008-10-28 10:33:54
Dron
Дело в том, что значения в @usergroups каждый раз разные...
я бы с удовольствием провел через цикл, допустим через foreach (такой вроде есть в perl) но ни синтаксиса, ни как добавлять значения в "@чего-нить" я не знаю... я просто прошу кусок кода, как реализовать схемно я знаю...

Re: Кусок кода на perl

Добавлено: 2008-10-30 9:17:52
ProFTP

Код: Выделить всё

#!/usr/bin/perl

use strict;
my @aa=('domain','user','bug');
my @bb=(); my $index=0; my $team;
 foreach $team (@aa) {
   push @bb, $team,$team.'1',$team.'2';
 }
  print @bb;

Re: Кусок кода на perl

Добавлено: 2008-10-30 16:25:24
Dron
Огромное спасибо :drinks: