Thread Stringvergleich geht nicht.. (18 answers)
Opened by introdev at 2019-10-07 17:36

introdev
 2019-10-07 19:21
#190664 #190664
User since
2018-11-20
29 Artikel
BenutzerIn
[default_avatar]
Also ohne chomp geht's auch nicht, deshalb habe ich es zuerst damit versucht:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sub get_platform();
sub test();

test();

sub test() {
my $platform = get_platform();
print $platform . "\n";

if( $platform eq "amd64") {
print 'yes'."\n";
}
else {
print 'no'."\n";
}
}


sub get_platform()
{
my $platform = system('dpkg --print-architecture');
#$platform =~ s/^\s+|\s+$//g;
return $platform;
}



Das gibt mir folgendes aus:

Quote
amd64
0
no



1. Die Variable $platform hat den Wert "amd64", dies sollte ersichtlich sein, weshalb also ist dann `$platform eq "amd64"` unwahr und springt in den else-Block?

2. Woher kommt die 0 in der Ausgabe? Scheint eher ein Exit-Code (?) zu sein, aber warum mittendrin? Wenn ich für yes/no statt ' normale Anführungszeichen (") verwende, dann macht's auch keinen Unterschied..
Last edited: 2019-10-07 19:22:51 +0200 (CEST)
Freundliche Grüsse,
Jan

View full thread Stringvergleich geht nicht..