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


CHI::Driver::Ping - Cache data in the Ether.


  use CHI;

  $< == 0 or exec 'sudo', $0, @ARGV; # sending ICMPs requires root priv

  system 'sysctl', '-w', 'net.ipv4.icmp_ratelimit=100000';

  my $cache = CHI->new( driver => 'Ping', ip => ); # google IP


Tap into the Ether. Optimize for CPU or storage? Fuck that.

If you thought the Cloud was awesome, just wait until you try storing your data in the Ether.

Inspired by Delay Line Memory,, this modules stores data by transmitting it through a medium known to have a delay and waiting for it to come back again, whereupon it both returns it and retransmits it out again.

It seems rather pointless and silly to bother with spinning metal oxide covered platters or billions of tiny capacitors when data can be stored in the air between the Earth and sattelites, in ordinary copper wire, and in easy to extrude lengths of glass fiber.



Who to send all of the ICMP ECHOPINGs to.


Not currently used (XXX).


CIDR block of hosts to use, or a list, or something. Even better, scan the network for hosts that are up and build this dynamically. For extra points, find hosts with a lot of hops to them.

namespace. XXX.

remove. XXX.

purge. XXX.



Initial; github dev version. Requires root privilege.


CHI::Driver::Ping by Scott Walters ( with suggestions from Brock Wilcox (

Uses code stolen from Net::Ping by (Rob Brown), (Colin McMillen), (Scott Bronson), (Andreas Karrer), (Paul Marquess), and (Russell Mosemann). These folks shall remain blameless for my actions.


Copyright (c) Scott Walters (scrottie) 2011

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

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 95:

'=item' outside of any '=over'

Around line 100:

You forgot a '=back' before '=head1'