Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^5: Use reference for functions in functions

by AnomalousMonk (Canon)
on Feb 27, 2013 at 16:06 UTC ( #1020918=note: print w/replies, xml ) Need Help??

in reply to Re^4: Use reference for functions in functions
in thread Use reference for functions in functions

When you want to have the same function react differently based on the amount of arguments...

If you were talking about C++ code, I'd understand perfectly what you were talking about: function overloading based on differing function signatures (prototypes). As you are talking about Perl code, I don't. I still imagine two functions  F with different prototypes that are differentially invoked based on differing argument lists, and that doesn't work in Perl.

Can you give a short, standalone, runnable example of what you were doing?

Replies are listed 'Best First'.
Re^6: Use reference for functions in functions
by T_I (Novice) on Feb 28, 2013 at 09:05 UTC

    What I was doing was:

    sub adding ($$) { my $first=shift; my $second=shift; my $third=($first + $second); print("$first + $second = $third\n"); } sub adding ($$$) { my $first=shift; my $second=shift; my $third=shift; print("$first + $second = $third\n"); } 1;
    #!/usr/bin/perl use strict; require ""; my $one = 1; my $two = 2; my $answer = ( $one + $two); adding($one,$two);

    rewriting to
    #!/usr/bin/perl use strict; require ""; my $one = 1; my $two = 2; my $answer = ( $one + $two); adding($one,$two,$answer);

    But I didn't test it myself during the rewrite and removing the ($$) version. I just tried to recreate it and got the errors and unpredictable behavior. Thanks for the pointer, Next time I'll just rewrite with an optional 3rd option in the original function and solve my rewrites that way.

    Seems I have a lot to refresh after 3 years of not coding.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1020918]
[shmem]: Lady_Aleena: that's up to you. I only wanted to show you a path that might be more comforting than command line grep ;-)
[Lady_Aleena]: shmem, I don't think any of my modules could be converted to OO. They are too procedural.
[Lady_Aleena]: Now I will see if my perl-fu is as bad as I think it is.
[shmem]: ah, geany uses its own idea of tags. Ah well...
[Lady_Aleena]: My perl-fu is bad.

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (10)
As of 2017-04-27 12:33 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (506 votes). Check out past polls.