On Wed, Dec 12, 2001 at 05:42:11PM +0100, Jorge Goncalvez wrote: > Hi I have this code: > ....... > sub MakeEth() > { > unless ($_Globals{NICIP_ADRESS}==$IPREAL[0]) > { > $_Globals{ETH_NETIF} eq "eth0";
You must have meant "=", not "eq", as in: $_Globals{ETH_NETIF} = "eth0"; > } > else{ > > $_Globals{ETH_NETIF} eq "eth0:1"; Same here: $_Globals{ETH_NETIF} = "eth0"; > > } > } > > ....... > > sub StartDhcp() > { > my $_cmd = $_Os{$_Globals{OS}}{DHCPD} . " " . $_Globals{ETH_NETIF}; > system($_cmd); > } > > I wanted to make $_Globals{ETH_NETIF} affected by what it is in the scope > MakeEth because in the sub StartDhcp $_Globals{ETH_NETIF} is undef I would to > make it a variable global after been affected by sub MakeEth. You did not make %_Globals local to the MakeEth subroutine, so it is be default global. If you weren't seeing the results of the assignment it's because you were using "eq" instead of "=". "eq" is a comparison operator, "=" is the assignment operator. Michael -- Administrator www.shoebox.net Programmer, System Administrator www.gallanttech.com -- -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]