[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Off topic (perl) answer :-)
- To: Linux-IL mailing list <linux-il(at-nospam)cs.huji.ac.il>
- Subject: Off topic (perl) answer :-)
- From: oron(at-nospam)actcom.co.il
- Date: Sun, 25 Mar 2001 21:22:24 +0200 (IST)
- In-Reply-To: <000b01c0b509$98553cf0$2900000a@oded>
- Sender: oron(at-nospam)actcom.co.il
- Sender: linux-il-bounce(at-nospam)cs.huji.ac.il
On 25-Mar-2001 Oded Arbel wrote:
> I have a simple perl question, if you please :
> I have a function that needs to return a hash (%) to the caller - it
> <snip>
> if (!defined %result) {
You can cheat with typeglobs. Test this:
$give_answer = 1; # check it with 0
sub foo {
local %bar = (1 => 'a', 2 => 'b');
return ($give_answer) ? \%bar : undef;
}
*kuku = foo; # here is the magic...
print (defined %kuku ? "Yes\n" : "No\n");
The real question you should ask yourself is:
Why assigning undef to %array didn't work?
Hints:
1. When you thought you returned %array, you were
wrong. The function returned a list of (key, value) pairs
2. What's is the context in which the function is called?
3. What happens if you assign? (and why?)
%x = 5;
(Check the keys and the values)
Now you should have the answer...
Cheers,
------------------------------------------------
Oron Peled Voice/Fax: +972-4-8228492
oron@actcom.co.il http://www.actcom.co.il/~oron
3Com only purchased rights to the numbers '3' '5' and '9', Intel
owns '4', '8', '6', and '2'. '0' and '1' are still in the public
domain ;-)
-Donald Becker
=================================================================
To unsubscribe, send mail to linux-il-request@linux.org.il with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail linux-il-request@linux.org.il