Wise Monks,
What is wront with this code?
use strict;
use warnings;
use IO::Socket;
use Tk;
$| = 1;
my $server = IO::Socket::INET->new(
LocalPort => 2345,
Type => SOCK_STREAM,
Reuse => 1,
Listen => 10
)
or die "Error: $@\n";
$SIG{CHLD} = sub { exit };
my $entry = "start...";
my $wsk = \$entry;
my $main = MainWindow->new( -title => 'Socket - listen', );
my $ent1 =
$main->Label( -text => "I'm waitin on port 2345\n So, you tell me...
+", )->pack();
my $ent2 = $main->Label(
-text => $entry,
)->pack();
my $child;
my $guzik1 = $main->Button(
-text => 'Exit',
-command => sub { kill 9, $child; exit 0 },
)->pack( -side => 'bottom', );
$child = fork();
if ( $child == 0 ) {
while ( my $client = $server->accept() ) {
while ( defined( my $in = <$client> ) ) {
print $in; #control
$ent2->configure( -text => $in );
}
}
}
MainLoop()
When I send something on 2345 port I get error:
Attempt to free non-existent shared string '_TK_RESULT_', Perl interpreter: 0x2d
2eba4 at C:\dyr-win\notes\socket_tk2.pl line 36, <GEN1> line 1.
Free to wrong pool 2d2dbb0 not 273d08 at C:\dyr-win\notes\socket_tk2.pl line 36,
<GEN1> line 1.
System: WindowsXP,
Perl: v5.8.8 built for MSWin32-x86-multi-thread
thanks for help,
greetz, Uksza
Yes, smart people know that fat arrow autoquotes the left argument. But why should you require your code to be maintained by smart people?
Randal L. Schwartz, Perl hacker
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.