Perl - jen tisk promenne

Michal michaels na centrum.cz
Pátek Září 22 09:41:36 CEST 2006


>>
>>> system("userdb", "$user@$domain", "set", "uid=2", "gid=2",
>>>     "home=/var/mail/$domain/$user", "systempw=$pass");
>>
>> Diky, bohuzel se stejnym negativnim vysledkem :-( Zjistil jsem, ze to ani nebere
>> "$user@$domain" - musel jsem tam dat "$user\@$domain". Takze v te promenne $pass
>> budu muset nejak pred vsechny znaky $ a / dat jeste \. Takze tu ted bojuju se
>> s///

> Pozor, to michate dohromady dve ruzne veci. Zavinac zapasny v uvozovkach 
> musite eskejpovat, aby se text za nim nebral jako identifikator pole. Ja 
> na to zapomnel, sorry. Ale promenna $pass se nebude nijak upravovat a cely 
> retezec vcetne systempw= se preda programu userdb, protoze system je 
> volany s vice nez jednim prametrem.

Mě se právě zdá, že se ten $pass upravuje.
Když tam dám "natvrdo":

system("userdb", "a\@a", "set", "uid=2", "gid=2", "home=/var/mail/a/a",
"systempw=$1$bB6PyeXR$WQX2KMrwRZxHcmZBJPShc/");

tak to hlásí:
Use of uninitialized value in concatenation (.) or string at
/usr/local/bin/addcourieruser line 27.

Když odmažu ty $ a / tak to proleze .... :-(
-- 
  Michal




Další informace o konferenci Linux