The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Net::Wake - A package to send packets to power on computers.


To send a wake-on-lan packet via UDP: Net::Wake::by_udp('', '00:00:87:A0:8A:D2');

Or directly from the command line:

perl -MNet::Wake -e "Net::Wake::by_udp(undef,'00:00:87:A0:8A:D2')"


This package sends wake-on-lan (AKA magic) packets to turn on machines that are wake-on-lan capable.

For now there is only one function in this package: Net::Wake::by_udp([$host], $mac_address, [$port]);

You can omit the colons in the $mac_address, but not leading zeros.

Generally speaking, you should use a broadcast address for $host. Using the host's last known IP address is usually not sufficient since the IP address may no longer be in the ARP cache. A $host value of '' is implied if $host is undef. If you wish to send a magic packet to a remote subnet, you can use a variation of '', given that you know the subnet mask to generate the proper broadcast address.



Copyright 1999-2003 Clinton Wong

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.