Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^3: Perl module symbol import versus direct invocation

by robartes (Priest)
on Feb 26, 2003 at 08:03 UTC ( #238700=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Perl module symbol import versus direct invocation
in thread Perl module symbol import versus direct invocation

This is no longer in answer to you initial question, as dbp pointed out that Date::Calc does not provide an object interface, but I got curious as to what happens when you call a method on something that is not an object. Lessee...
#!/usr/local/bin/perl -w use strict; package Test; print Test->method(); sub method { my $self=shift; return $self; } __END__ Test
Ah, that's right - you get the package name. I knew this ;).

So that answers your question: if no object has been created, calling a function with -> results in the function getting the package name as the first argument. This also explains the error in your script: Date::Calc::Add_Delta_Days gets 'Date::Calc' as the year, hence the usage message.

Update: See bart's post below for some more information on -> syntax.


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://238700]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2023-03-22 02:46 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (60 votes). Check out past polls.