Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^2: Perl semi-object without a constructor

by Wiggins (Friar)
on Feb 20, 2013 at 20:14 UTC ( #1019841=note: print w/ replies, xml ) Need Help??


in reply to Re: Perl semi-object without a constructor
in thread Perl semi-object without a constructor

I went back and looked at all the subroutines.
2 have $pkg as arg0 (event_loop() & new_server())
7 have $conn as arg0
3 don't take args
1 starts with the line:

shift unless ref($_[0]); # shift if first arg is package name

So maybe the entire package is actually a class.

With 1 dodgy routine:

sub _new_client { my $sock = $main_socket->accept(); my $conn = bless { 'sock' => $sock, 'state' => 'connected' }, $g_pkg; #< different CLASSNAME my $rcvd_notification_proc = &$g_login_proc ($conn, $sock->peerhost(), $sock->peerport()); if ($rcvd_notification_proc) { $conn->{rcvd_notification_proc} = $rcvd_notification_proc; my $callback = sub {_rcv($conn,0)}; set_event_handler ($sock, "read" => $callback); } else { # Login failed $conn->disconnect(); } }

It is always better to have seen your target for yourself, rather than depend upon someone else's description.


Comment on Re^2: Perl semi-object without a constructor
Select or Download Code
Replies are listed 'Best First'.
Re^3: Perl semi-object without a constructor
by dsheroh (Parson) on Feb 21, 2013 at 09:43 UTC
    Common Perl convention is that sub/method names beginning with an underscore are to be treated as private. The reason that sub _new_client is structured differently than the other subs in the package is because it's meant for internal use only and is not a part of the public interface.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (11)
As of 2015-07-08 08:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (98 votes), past polls