Thread length() ergibt immer 0 (7 answers)
Opened by styx-cc at 2009-01-01 23:30

Linuxer
 2009-01-02 00:21
#117537 #117537
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Du musst STDERR innerhalb des Skriptes umleiten; denn der Compileraufruf und sein STDERR ist unabhängig vom Aufruf des Perlskriptes und seines STDERR.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl
# vi:ts=4 sw=4 et:
use strict;
use warnings;

my $compiler = 'g++';
my $file_in  = shift @ARGV;
my $file_out = shift @ARGV;

my $out = qx( $compiler $file_in -o $file_out 2>&1 );

print ">>>$out\nLength: ", length( $out ), "\n";


Code: (dl )
1
2
3
4
5
6
7
$ perl cp.pl a.c r.x
>>>a.c: In function ‘int main()’:
a.c:4: error: ‘it’ was not declared in this scope
a.c:4: error: expected `;' before ‘i’
a.c:5: error: ‘i’ was not declared in this scope

Length: 184
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread length() ergibt immer 0