http://qs321.pair.com?node_id=673829

WalkingZero has asked for the wisdom of the Perl Monks concerning the following question:

Hello all. I am having difficulty with a spot of code. I have a feeling the answer is simple, and i am being stupid for missing it. In the code below I am running a call to ifconfig to change the mac address of the adapter to one in the given variable. I am trying to check for the error code "SIOCSIFHWADDR: Invalid Argument" When i run the backquoted command though, it does not capture the error code when it comes up. It always returns an empty set. I'd appreciate some help in understanding why this is and what I could do to get around it. I've included the relevant snippet of code below.
$code=`ifconfig eth0 hw ether $mac`; print "Returned error: $code \n"; if $code="SIOCSIFHWADDR: Invalid Argument"{&CMac;}
The conditional statement includes a recursive call to the function it is a part of. The idea is that it keeps attempting to change the MAC address until it hits a valid one. Unfortunately the $code variable always come up empty.


"One future, two choices. Oppose them or let them destroy us" - Propaghandi