What does the following code do?
This StatView::Script->new( ... ); calls the new method of the class.
The bit inside the parens:
{
name => 'stv_copy_key',
version => $VERSION,
opt_spec => [qw(
host=s
list_pollers
all_pollers
)],
db_connection => [qw/ poller /],
handler => sub { StatView::CopySSHKey::run (@_) },
}
Constructs an anonymous hash which is passed into the new method.
It is equivalent to doing my %hash = (
name => 'stv_copy_key',
version => $VERSION,
opt_spec => [qw(
host=s
list_pollers
all_pollers
)],
db_connection => [qw/ poller /],
handler => sub { StatView::CopySSHKey::run (@_) },
);
StatView::Script->new( \%hash );
Are the keys mentioned predefined?
Presumably you mean the hash keys? If so, one assumes that they have some meaning to the class constructor, otherwise they would either raise an error or be ignored.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
|