What is a hash slice and how is one written in Perl?
A means of selecting multiple elements for fetching or setting. An example would be @hash{ 'key1', 'key2', ... }. See perldata for details.
if a delete function in a Perl program specifies a slice, will the interpreter break it up into individual calls to DELETE?
Yes.
{ package Tester; use Tie::Hash qw(); our @ISA = 'Tie::StdHash'; sub DELETE { my $self = shift; print("DELETE @_\n"); $self->SUPER::DELETE(@_) } } { tie my %hash, 'Tester'; %hash = ( a => 1, b => 2, c => 3, d => 4, ); delete @hash{qw( b c )}; print(join(' ', keys %hash), "\n"); }
DELETE b DELETE c a d
If there are other pages that cover this subject, please tell me.
Update: Formatting changes. Switched from using array to using hash in DELETE test.
In reply to Re: delete on tied variables
by ikegami
in thread delete on tied variables
by cmac
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |