Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: delete on tied variables

by ikegami (Pope)
on Jan 12, 2009 at 03:38 UTC ( #735596=note: print w/ replies, xml ) Need Help??


in reply to delete on tied variables

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.


Comment on Re: delete on tied variables
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://735596]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (18)
As of 2015-07-07 17:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (92 votes), past polls