|
Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » syntax error at ./filename.pl line 138, at EOF |
|
syntax error at ./filename.pl line 138, at EOF
|
Пользователь Сообщения: 68 |
доброго времени суто.
есть скрипт получения учетных данных почтовых пользователей, для переноса на другой почтовый сервис, который не отрабатывает: #!/usr/bin/perl -w use CLI; %translationTable=( RealName => 'cn', Password => 'userPassword', City => 'l', Departament => 'ou', Title => 'discription', FirstName => 'givenName', FamelyName => 'sn', ); #check argument's if(@ARGV<1) { print "usage: MakeLDIF.pl account_list.txt\n"; exit; } print "Domain: "; my $Domain = <STDN>; chomp $Domain; $CGServerAddress = $Domain; print "Login (Enter for \"Postmaster\@$Domain\"): "; my $Login = <STDN>; chomp $Login; if ($Login eq '') { $Login = "Postmaster\@$Domain"; } print "Password: "; my $Password = <STDN>; chomp $Password; my $cli = new CGP::CLI( { PeerAddr => $CGServerAddress, PeerPort => 106, login => $Login, password => $Password } ) || die "Can't login to CGPro: ".$CGP::ERR_STING."\n"; my $lineNum=0; my $nAdded=0; open(FILE,">Accounts.ldif") || die "can't create file"; while(<>) { chomp($_); $lineNum++; my ($name,$settings); if(/.*\/(.+)\.macnt$/i) { $name=$1; } else { print "Bad line in inpu: $_\n"; next; { print "Name=$name\n"; unless($Settings=$cli->GetAccontSettings("$name\@$Domain")) { die "Error: ".$cli->getErrMessage.", quitting"; { print FILE "dn: uid=$name,cn=$Domain\n"; print FILE "objectclass: top,person,organizationalPerson,inetOrgPerson,CommuniGateAccount\n"; print FILE "mail: $name\@$Domain\n"; print FILE "uid: $name\n"; foreach (keys %$Settings) { my $key=$_; my $value=@$Settings{$key}; $key=$translationTable{$key} if(exist($translationTable{$key})); print FILE "$key: ".convertValue($value)."\n"; } print FILE "\n\n"; $nAdded++; } print " $nAdded records added.\n"; close(FILE); $cli->Logout; sub convertValue { my $data = $_[0]; if(!defined($data)) { return '""'; } elsif(ref($data) eq 'HASH') { my $outp='"{'; foreach (sort keys %$data) { my $value=@$data{$_}; $outp .=convertValue2($_,$translate).'='.convertValue2($value,$translate).';'; $outp.= '}"'; } return $outp; } elsif(ref($data) eq 'ARRAY') { my $outp=''; my $first=1; foreach (@$data) { if(!$first) { $outp.=','; } else { $first=0; } $outp.=convertValue2($_,$translate); } return $outp; } else { if($data =~ /[\x00-\x1F\x7F]/) { $data =~ s/([\x00-\x1F\x7F])/'\\'.('0'x(3-length(ord($1)))).ord($1)/ge; return '"' .$data .'"'; } else { return $data; } } } sub convertValue2 { my $data = $_[0]; if(!defined($data)) { return '""'; } elsif(ref($data) eq 'HASH') { my $outp='{'; foreach (sort keys %$data) { my $value=@$data{$_}; $outp .= convertValue2($_,$translte).'='.convertValue2($value,$translate).';'; } $outp.= '}'; return $outp; } elsif(ref($data) eq 'ARRAY') { my $outp='('; my $first=1; foreach (@data) { if(!$first) { $outp.=','; } else { $first=0; } $outp.=convertValue2($_,$translate); } $outp.= ')'; return $outp; } else { if($data =~ /[\W_]/ || $data eq '') { $data =~ s/([\x00-\x1F\x7F])/'\\'.('0'x(3-lenth(ord($1)))).ord($1)/ge; return '"' . $data . '"'; } else { return $data; } } } __END__; Missing right curly or square bracket at ./filename.pl line 138, at end of line syntax error at ./filename.pl line 138, at EOF Execution of ./filename.pl aborted due to compilation errors. Подскажите пожалуйста, из-за чего ошибка и как исправить. заранее спасибо |
|
------- Отправлено: 16:22, 17-09-2013 |
![]() Старожил Сообщения: 341
|
Профиль | Отправить PM | Цитировать ошибка из-за скобычек. расставить правильно.
|
Отправлено: 18:58, 18-09-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - StreamReader как от него получить filename? | RUVATA | Программирование и базы данных | 2 | 26-08-2010 13:51 | |
Утилиты - [addon] Windows Explorer filename extension column 1.0.4 | dimich22 | Наборы обновлений для Windows XP/2003/Windows 7 | 13 | 05-05-2010 14:48 | |
Вечная проблема ACER (Audio Line In to Line Out) | 988essence | Ноутбуки | 4 | 22-03-2010 15:11 | |
[решено] Подкиньте хорошие syntax highlighting для AutoIT в редакторе CrimsonEditor | evg64 | AutoIt | 3 | 30-08-2009 10:35 | |
C/C++ - [решено] PHP. Fatal error: Function name must be a string in /var/www/index.php on line 15 | Artem-Samsung | Программирование и базы данных | 6 | 29-11-2008 18:37 |
|