NAME
Acme::Globule::Range - alternative range operator
SYNOPSIS
use Acme::Globule qw( Range );
foreach (<10..1>) {
print "$_... ";
}
print "Lift-off!\n";
# put down that crack pipe...
sub my_keys(\%) {
my @hash = %{ $_[0] };
return @hash[ glob("0,2..$#hash") ];
}
sub my_values(\%) {
my @hash = %{ $_[0] };
return @hash[ glob("1,3..$#hash") ];
}
DESCRIPTION
This is a Acme::Globule plugin that makes glob() do range operations. The following range formats are supported:
A..Z
-
Returns the integers between A and Z. If Z is lower than A, this will return a reversed range. Thus
<1..9>
is(1..9)
and<9..1>
is(reverse 1..9)
. A,B..Z
-
Returns the integers between A and Z with a step such that the second value is B. Thus
<1,3..9>
is(1, 3, 5, 7, 9)
. A..Y,Z
-
Returns the integers between A and Z with a step such that the next to last value is Y. Thus
<1..7,9>
is(1, 3, 5, 7, 9)
.
Any other string will fall through to the next plugin.
BUGS
SEE ALSO
Acme::Range and List::Maker, although these are somewhat broken because they replace glob() globally.
AUTHOR
All code and documentation by Peter Corlett <abuse@cabal.org.uk>.
COPYRIGHT
Copyright (C) 2008 Peter Corlett <abuse@cabal.org.uk>. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SUPPORT / WARRANTY
This is free software. IT COMES WITHOUT WARRANTY OF ANY KIND.