(Note: I am aware that the standard way is to use Some::Class->new, but a static function (should?) work
First I do require, as use allows them both to work for some reason (why?):
require Net::Curl; Then, the following (assume I have use strict) fails with Bareword "Net::Curl::Easy::new" not allowed while "strict subs" in usewhile the following does notmy $c = Net::Curl::Easy::new;
my $c = Net::Curl::Easy->new;
Also weird is that if I enter
in Reply it works (as two commands). But if I entered the commands on the same line: require Net::Curl;my $c = Net::Curl::Easy::new; it fails (why?).require Net::Curl; my $c = Net::Curl::Easy::new;
In addition, I'm not quite understanding the difference(s) between all these (note the command clearly isn't a reference, but just for the sake of argument). Which ones are the same, which ones are different (in general), which ones are the same in this case?:
&Net::Curl::Easy::new; &Net::Curl::Easy::new(); Net::Curl::Easy::new(); Net::Curl::Easy::new; &{Net::Curl::Easy::new}; #equivalent to Net::Curl::Easy::new->&*,right +? Net::Curl::Easy::new->();
EDIT Not using the strict pragma gives the error: 'easy' is not a Net::Curl::Easy object at the line assigning $c. I thought parentheses aren't necessary here (perldoc/perlsub):
The & is optional in modern Perl, as are parentheses if the subroutine has been predeclared.
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |