in reply to delete hash key/value in subroutine

Id like to delete a hash key/value pair from a hash within the subroutine, but have it not deleted globally. Whatever combination I try, it always seems to delete the key/value globally. Any suggestions?

Where do you get these ideas (what docs/tutorial are you reading)?

Here's an example

my %hash = ( 1 .. 4); my $foo = \%hash; my $bar = \%hash; my $baz = $foo ; foobarbaz(\%hash); sub foobarbaz { my $ref = shift; }
Many names (references) for it ($foo,$bar,$baz) but just one %hash, it doesn't matter where you modify it (even inside sub foobarbaz).

I suggest you switch to a book like Beginning Perl by Simon Cozens, Peter Wainwright.
Beginning Perl is a different kind of Perl book. It's written particularly with the beginning programmer in mind, but it doesn't treat you like an idiot, and experienced programmers will not feel patronised. It covers a lot of ground, from the very basics of programming, right through to developing CGI applications for the web. More importantly, it emphasises good Perl practice, and readable and maintainable code.