Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
share
/
perl5
/
vendor_perl
/
Redis
Upload
5 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
Hash.pm
2.43 KB
-rw-r--r--
2019-07-22 09:20:13
Edit
Del
List.pm
2.35 KB
-rw-r--r--
2019-07-22 09:20:13
Edit
Del
Sentinel.pm
2.22 KB
-rw-r--r--
2019-07-22 09:20:13
Edit
Del
Editing: List.pm
(2.35 KB)
Path: /usr/share/perl5/vendor_perl/Redis/List.pm
Back
# # This file is part of Redis # # This software is Copyright (c) 2015 by Pedro Melo, Damien Krotkine. # # This is free software, licensed under: # # The Artistic License 2.0 (GPL Compatible) # package Redis::List; $Redis::List::VERSION = '1.995'; # ABSTRACT: tie Perl arrays to Redis lists # VERSION # AUTHORITY use strict; use warnings; use base qw/Redis Tie::Array/; sub TIEARRAY { my ($class, $list, @rest) = @_; my $self = $class->new(@rest); $self->{list} = $list; return $self; } sub FETCH { my ($self, $index) = @_; $self->lindex($self->{list}, $index); } sub FETCHSIZE { my ($self) = @_; $self->llen($self->{list}); } sub STORE { my ($self, $index, $value) = @_; $self->lset($self->{list}, $index, $value); } sub STORESIZE { my ($self, $count) = @_; $self->ltrim($self->{list}, 0, $count); # if $count > $self->FETCHSIZE; } sub CLEAR { my ($self) = @_; $self->del($self->{list}); } sub PUSH { my $self = shift; my $list = $self->{list}; $self->rpush($list, $_) for @_; } sub POP { my $self = shift; $self->rpop($self->{list}); } sub SHIFT { my ($self) = @_; $self->lpop($self->{list}); } sub UNSHIFT { my $self = shift; my $list = $self->{list}; $self->lpush($list, $_) for @_; } sub SPLICE { my ($self, $offset, $length) = @_; $self->lrange($self->{list}, $offset, $length); # FIXME rest of @_ ? } sub EXTEND { my ($self, $count) = @_; $self->rpush($self->{list}, '') for ($self->FETCHSIZE .. ($count - 1)); } sub DESTROY { $_[0]->quit } 1; ## End of Redis::List __END__ =pod =encoding UTF-8 =head1 NAME Redis::List - tie Perl arrays to Redis lists =head1 VERSION version 1.995 =head1 SYNOPSYS tie @my_list, 'Redis::List', 'list_name', @Redis_new_parameters; $value = $my_list[$index]; $my_list[$index] = $value; $count = @my_list; push @my_list, 'values'; $value = pop @my_list; unshift @my_list, 'values'; $value = shift @my_list; ## NOTE: fourth parameter of splice is *NOT* supported for now @other_list = splice(@my_list, 2, 3); @my_list = (); =head1 AUTHORS =over 4 =item * Pedro Melo <melo@cpan.org> =item * Damien Krotkine <dams@cpan.org> =back =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2015 by Pedro Melo, Damien Krotkine. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) =cut