in reply to Re: P248 programming perl
in thread P248 programming perl
Number 1 is just weird and number 2 doesn't compile.
Huh? 2 compiles perfectly well for me!
# Doggie.pm package Doggie; 1; sub new { # ignore args print "hello from Doggie::new\n"; }
use strict; use warnings; use Doggie; sub Doggie { print "hello from main::Doggie\n"; } my $objref1 = Doggie::->new(Tail => 'short', Ears => 'long'); my $objref2 = new Doggie:: Tail => 'short', Ears => 'long'; # The following is parsed as Doggie()->new(...) # my $objref3 = Doggie->new(Tail => 'short', Ears => 'long'); __END__
hello from Doggie::new hello from Doggie::new
Also, in addition to the use that adrianh cited, 1 would be useful in the rare case in which one wants to use a class that has the same name as a subroutine defined in the client package. In such a case, as the OP has already noted, the parser gets confused with 3.
the lowliest monk
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: P248 programming perl
by wackattack (Sexton) on Jul 05, 2005 at 06:06 UTC | |
by holli (Abbot) on Jul 05, 2005 at 06:32 UTC | |
by tlm (Prior) on Jul 06, 2005 at 01:10 UTC | |
|
Re^3: P248 programming perl
by wackattack (Sexton) on Jul 05, 2005 at 06:25 UTC | |
by tlm (Prior) on Jul 06, 2005 at 01:00 UTC |