Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Use method/function signatures with Perl

by Ovid (Cardinal)
on Dec 06, 2004 at 00:40 UTC ( #412554=perlmeditation: print w/replies, xml ) Need Help??

Help for this page

Select Code to Download

  1. or download this
    sub name {
        my $self = shift;
        if (@_) {
        return $self->{name};
  2. or download this
    $person->name;         # get the name
    $person->name("Ovid"); # set the name
  3. or download this
    $person->name(qw/Publius Ovidius Naso/);
    # or
    $person->name([qw/Publius Ovidius Naso/]);
    # or
    my $name = Name->new("Publius Ovidius Naso");
  4. or download this
    sub name {
        my $self = shift;
        if (1 == @_ && ! ref $_[0]) {
            croak "Unknown arguments to name()";
  5. or download this
    sub name($self) {
        return $self->{name};
        $self->{name} = $name;
        return $self;
  6. or download this
    use Sub::Signatures;
    sub foo($bar) {
    foo(1);     # prints 1
    foo(1,2);   # prints 1, 2
    foo(1,2,3); # fatal error

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://412554]
Approved by atcroft
Front-paged by astaines
[1nickt]: Yes, in my (very) limited experience with it, it seems better suited to API building

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2017-11-24 14:12 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (349 votes). Check out past polls.