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


in reply to Run a shell command in a new terminal from a perl script?

Which platform?  On Unix you can (for example) do something like this

system q/xterm -e perl -le 'print "line $_" for 1..20; <>'/;

which would print 20 ines in a new xterm, and wait for you to press enter to close the terminal again.  The -e option specifies the command to run in the xterm (some perl, here).  Virtually any other terminal has similar facilities.

Is that what you are trying to do?

Replies are listed 'Best First'.
Re^2: Run a shell command in a new terminal from a perl script?
by ironside (Acolyte) on Feb 01, 2012 at 00:56 UTC

    I am running this script on Ubuntu

    The script I am writing pulls a few command line programs together. I want to be able to have one of the programs run in a new terminal while my main program continues to run in the first terminal.

      It can be done, but it's tricky. Here's a script that I wrote to test Module::Install and ExtUtils::MakeMaker.
      #!/usr/bin/perl -l use strict; use warnings; $|=1; open STDOUT, '>-'; system("xterm -e cpan -ft Module::Install &"); close STDOUT; use CPAN; CPAN::Shell->test("ExtUtils::MakeMaker");

      Update: The script requires a lot of RAM, so it may or may not work for you. Try some other commands until it works.

      Update: This will probably work better for you.
      #!/usr/bin/perl -l use strict; use warnings; $| =1; open STDOUT, '>-'; system("du /usr/lib/perl5 &"); close STDOUT; open STDOUT, '>-'; system("xterm -e du /usr/lib/perl5 &"); close STDOUT;

        That did not work.

        I got an error saying: sh: xterm: command not found