use strict; my %allusers = ( 'users' => { 'user' => 'Test Account', '*Crudles' => 'Hello World', 'Crud' => 'Another Test', '*test' => 'Crud User' } ); foreach my $key ( %{ $allusers{ users } } ) { delete $allusers{ users }{ $key } if '*' eq substr $key, 0, 1; } # result: $ perl test.pl 0 [main] perl 374831 open_stackdumpfile: Dumping stack trace to PERL.EXE.Stackdump Segmentation fault (core dumped) #### This is perl, v5.6.1 built for cygwin-multi Copyright 1987-2001, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page. #### This program has performed an illegal operation and will be shut down. If the problem persists, contact the program vendor. PERL caused an invalid page fault in module PERL56.DLL at 017f:280705f1. Registers: yada, yada, yada