(forgot to cc this to the list before ...)

> 
> Ah.  I've just investigated this a bit more ... and this is very, very
> odd.  Something like
> 
>      my $variable = `dir C:\\*.*`;
> 
> works just fine.  Most things work fine.  But with the application I am
> running, Spidey, things start getting wierd.  The simple Perl/Tk test
> script I've been using is as follows:
> 
> ------------ stdout_test.pl --------------
> 
> #!perl -w
> 
> use strict;
> use Tk;
> 
> my $stdout1 = `dir c:\\`;
> my $stdout2 = `help`;
> my $stdout3 = `date /t`;
> my $stdout4 = `c:\\Spidey.exe -i c:\\est_dna.fasta -m
> c:\\est_mrna.fasta`;
> my $stdout5 = `c:\\Spidey.exe --help`;
> my $stdout6 = `perl c:\\test.pl`;
> 
> my $top = MainWindow->new(-title=>'Stdout test');
> my $text = $top->Scrolled('Text',
>               -scrollbars=>'osoe',
>               -width=>80,
>               -height=>40,
>               )->pack();
> my $quit = $top->Button(
>               -text=>'Exit',
>               -command=> sub {$top->destroy; exit 0;},
>               )->pack(-side=>'bottom');
> 
> $text->insert('end',"Directory listing of drive c:\\\n$stdout1\n\nHelp
> said:\n$stdout2
>               \n\nThe date is:\n$stdout3
>               \n\nSpidey said\n$stdout4
>               \n\nSpidey --help said\n$stdout5
>               \n\nPerl test said\n$stdout6");
> 
> MainLoop;
> 
> ----------------------------
> 
> (test.pl is just a simple one line script testing that non system
> commands producing stdout work)
> 
> Now, if I run this from the command line, everything works fine.  If I
> make a PAR executable by:
> 
>       pp -o stdout.exe stdout_test.pl
> 
> everything works fine.  If I make a PAR executable by
> 
>       pp --gui -o stdout_gui.exe stdout_test.pl
> 
> and run it from the command line, everything works fine.  BUT ... if I
> run it by double clicking the stdout_gui.exe in the filemanager,
> everything works apart from $stdout4, which contains nothing ... and now
> I've noticed that a file "stdout" is generated in the directory
> stdout_gui.exe was run from, which contains all the Spidey stdout
> information.  NB: this *does not* happen for any other stdout commands,
> *including* `c:\\Spidey.exe --help` which works just fine!!
> 
> If you're interested in testing this yourself, Spidey is available from
> http://www.ncbi.nlm.nih.gov/spidey/ (open source, public domain) and I
> can send you the sample DNA files I've been using to test this (they're
> rather large, though - about 400Kb in total).
> 
> So obviously it's not a general bug in PAR ...  but I don't know if it's
> being caused by PAR or ActivePerl or Spidey or something else, and I'd
> greatly appreciate any ideas - I can't see why it is behaving this way.
> 
> Thanks again,
> Owen
> 
> > Can you give a sample block of code that does this?  Will this suffice?
> > 
> >     my $variable = `dir C:\*.*`;
> > 
> > > Another small bug I've noticed under Windows is that executables produced
> > > with PAR on a system with ActivePerl 5.8.3 die early in execution (and
> > > without any error message printed) when run on a system with an earlier
> > > version of ActivePerl (e.g. 5.8.0) installed.  This can be a bit
> > > disconcerting!
> > 
> > Indeed, and this is a bug I _think_ have been fixed in the snapshot
> > version, but I'll test it again to be sure.
> > 
> > Thanks!
> > /Autrijus/
> 
> -- 
> http://www.fastmail.fm - Same, same, but different�

-- 
http://www.fastmail.fm - One of many happy users:
  http://www.fastmail.fm/docs/quotes.html

Reply via email to