Witam
Stworzyłam sobie parę dodatków do LMS, ale utknęłam na pliku lms-mgc który jest pewnie napisany w perlu. Opiszę to dokładniej plik
lms-mgc
http://kaju007.twojhost.pl/lms-mgc.txt
config z którego korzysta plik lms-mgc
lms-mgc.ini
Kod:
; $Id: lms-mgc.ini,v 1.11 2004/02/15 02:43:25 lukasz Exp $
;
; Plik konfiguracyjny LMS-MGC - czyli magicznego generatora configów
; ---------------------------------------------------------------------------
; Ustawienia bazy danych
; ---------------------------------------------------------------------------
[database]
; Typ bazy danych. Aktualnie w 100% supportowany jest 'mysql', ale jak
; narazie nie widać większych problemów z 'postgres'.
; Domy¶lnie: mysql
type = mysql
; Host gdzie zainstalowana jest baza danych. Najczę¶ciej, localhost, ale
; można tutaj wstawić cokolwiek (ipek, domena, path to socketa w formacie
; 'localhost:/path/to/socket').
; Domy¶lnie: localhost
host = localhost
; Użytkownik do bazy danych. W wielu wypadkach (jeżeli postępowałe¶ zgodnie
; ze wskazówkami w doc/INSTALL) będzie to 'lms'. Jeżeli chcesz używać
; konta uprzywilejowanego, prawdopodobnie wpiszesz 'root' (MySQL na
; większo¶ci *nixów), 'mysql' (na PLD) b±dĽ 'postgres' (PostgreSQL).
; Domy¶lnie: root
user = lms
; Hasło do bazy danych. Domy¶lnie puste.
;
password = XXXX
; Nazwa bazy danych, domy¶lnie lms.
;
database = lms
; ---------------------------------------------------------------------------
; Wła¶ciwa konfiguracja mgc. Przykładowy config z istniej±cej sieci możecie
; znaleĽć w pliku lms-mgc-netx.ini
; ---------------------------------------------------------------------------
[mgc]
[mgc]
instances = rc.port
[mgc:rc.port]
outfile = /etc/rc.d/rc.port
;outfile = /etc/rc.d/rc.port
outfile_perm = 600
header = ###########
port = %ADRESIP-%PORT
Do pliku lms-mgc tego na początku dodaję nową instancję
Kod:
my $port = $ini->val("mgc:$instanceno",'port') || '';
Później po środku dodaję wpis
Kod:
if($port)
{
$dbq = $dbase->prepare("SELECT adresIP, port FROM lms_nowa.port");
$dbq->execute();
my $row = $dbq->fetchrow_hashref();
my $ser = $port;
$ser =~ s/\%ADRESIP/$row->{'adresIP'}/g;
$ser =~ s/\%PORT/$row->{'port'}/g;
$ser =~ s/\\n/\n/g;
$ser =~ s/\\t/\t/g;
print OUTFILE $ser."\n";
}
$dbq->finish();
Po dodaniu tego wpisu i uruchomienie pliku lms-mgc zostanie wygenerowany plik rc.port ale tylko z jednym wpisem z bazy danych a jej ich teraz 11 a pewnie będzie więcej.
Jak poprawnie powinien wyglądać wpis żeby wygenerował wszystkie rekordy z danej tabeli?
Proszę o pomoc