????JFIF??x?x????'
| Server IP : 79.136.114.73 / Your IP : 216.73.216.55 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/perl/5.18/Module/CoreList/ |
Upload File : |
# For internal Module::CoreList use only.
package Module::CoreList::TieHashDelta;
use strict;
use vars qw($VERSION);
$VERSION = "3.03";
sub TIEHASH {
my ($class, $changed, $removed, $parent) = @_;
return bless {
changed => $changed,
removed => $removed,
parent => $parent,
keys_inflated => 0,
}, $class;
}
sub FETCH {
my ($self, $key) = @_;
if (exists $self->{changed}{$key}) {
return $self->{changed}{$key};
} elsif (exists $self->{removed}{$key}) {
return undef;
} elsif (defined $self->{parent}) {
return $self->{parent}{$key};
}
return undef;
}
sub EXISTS {
my ($self, $key) = @_;
if (exists $self->{changed}{$key}) {
return 1;
} elsif (exists $self->{removed}{$key}) {
return '';
} elsif (defined $self->{parent}) {
return exists $self->{parent}{$key};
}
return '';
}
sub FIRSTKEY {
my ($self) = @_;
if (not $self->{keys_inflated}) {
# This inflates the whole set of hashes... Somewhat expensive, but saves
# many tied hash calls later.
my @parent_keys;
if (defined $self->{parent}) {
@parent_keys = keys %{$self->{parent}};
}
@parent_keys = grep !exists $self->{removed}{$_}, @parent_keys;
for my $key (@parent_keys) {
next if exists $self->{changed}->{$key};
$self->{changed}{$key} = $self->{parent}{$key};
}
$self->{keys_inflated} = 1;
}
keys %{$self->{changed}}; # reset each
$self->NEXTKEY;
}
sub NEXTKEY {
my ($self) = @_;
each %{$self->{changed}};
}
1;