http://www.perlmonks.org?node_id=995411


in reply to Re^3: Perl TK
in thread Perl TK

Yes, Thank you.. not very smart on my part, after I posted I realized that I did not have firefox installed on this system.

I did get it to open a page, however, it caused a new problem.

It opens a browser window but then I get an error saying "Perl command line interpreter has stopped working" and it closes out my program.

below is the call that I make (please note that I set this code just to test it working so please bare with the hardcoding of the link and such)

$tmp_label = $table->Button(-image => $D_Image, -borderwidth=>0, -cur +sor=>'hand1', -command=>[\&NewOrders]); sub NewOrders { $pid = fork(); if ($pid == 0) { execute(system "start http://www.yahoo.com"); exit(0) +;} }
Anyone know why it is crashing out my perl? I believe I have it forked properly??

Replies are listed 'Best First'.
Re^5: Perl TK
by zentara (Archbishop) on Sep 24, 2012 at 17:47 UTC
    Anyone know why it is crashing out my perl? I believe I have it forked properly??

    Why do you have exit(0) in the forked code? My guess is that exit is closing the script. Maybe it has something to do with fork being emulated by threads on MSWindows? See How does system(1,"foo") work on Windows?. Maybe all you need is "system(1, start $url)"

    if ($pid == 0) { execute(system "start http://www.yahoo.com"); exit(0)

    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh
      Yeap, that worked.. Thank you.

      I added exit(1) because with fork I did not want any zombie children running around creating havoc on my memory and CPU.