use Net::WLAN qw/:all/; # enumerate the WLAN interfaces attached to your Linux box @interfaces = wlan_enum; # set all your interfaces to channel 7 $_->channel(7) for @interfaces; # set the configuration of ethX $ethX = Net::WLAN::Interface->new("ethX"); $ethX->config( Essid => 'NEW_ESSID', Channel => 7, Mode => $IW_MODE_MASTER, ); $ethX->print; # scan on an interface and print the name and adress of all WLANs seen print "Found WLAN: " . $_->{Name} . " (" . $_->{Address} . ")\n" foreach wlan_scan("ethX");