Variable gesetzt trotz if
Moin,
my $test = 'false';
sub heiko{
If (a eq b){
..
$test = 'true'
...
}
}
$test wird auch dann auf 'true' gesetzt wenn die IF-Bedingung nicht greift.
Der Rest im IF-Bereich verhält sich normal.
Aber warum $test geändert?
MfG
Heiko
Re: Variable gesetzt trotz if
Heiko Rompel wrote:
> my $test = 'false';
>
> sub heiko{
> If (a eq b){
> ..
> $test = 'true'
> ...
> }
> }
>
> $test wird auch dann auf 'true' gesetzt wenn die IF-Bedingung nicht greift.
> Der Rest im IF-Bereich verhält sich normal.
>
> Aber warum $test geändert?
Das ist kein lauffähiger Perl-Code.
Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Re: Variable gesetzt trotz if
Heiko Rompel schrieb unter anderem:
> my $test = 'false';
>
> sub heiko{
> If (a eq b){
> ..
> $test = 'true'
> ...
> }
> }
Hallo Heiko
Etwas schwer verständlich was Du meinen könntest, da etwas fehlt was Du
vergleichen willst.
z.Bsp: heiko('c','d');
Vieleicht bringt Dich die Investition von 2 Dollars weiter, einen vor
dem a den anderen vor dem b.
SCNR
Tschööö Thomas
Re: Variable gesetzt trotz if
Heiko Rompel wrote:
> my $test = 'false';
>
> sub heiko{
> If (a eq b){
> ..
> $test = 'true'
> ...
> }
> }
> $test wird auch dann auf 'true' gesetzt wenn die IF-Bedingung nicht greift.
> Der Rest im IF-Bereich verhält sich normal.
>
> Aber warum $test geändert?
Du solltest es mal mit Perl versuchen,
...
sub a { 'Heiko' }
sub b { 'Rompel' }
my $test = 'false';
sub heiko {
if( a eq b ){
$test = 'true'
}
}
print $test;
heiko;
print $test
...
Und
use strict;
use warnings;
nicht vergessen!
M.
Re: Variable gesetzt trotz if
Heiko Rompel:
> my $test = 'false';
>
> sub heiko{
> If (a eq b){
Das ist kein Perl-Code - "If" gehört mit kleinem "i", und soferne du
die beiden Variablen "a" und "b" vergleichen willst (wobei ich jetzt
mal annehme, dass es sich dabei um Skalare handelt), musst du
ihren Namen ein "$" voransetzen (wie bei der "$test" Variable).
Außerdem würde ich vorschlagen, dass du an den Beginn deines
Codes ein
use warnings;
use strict;
setzt und dann mal siehst, was da so an Meldungen erscheint, wenn
du den Code laufen läßt - und es würde mich sehr wundern, wenn
nichts erscheinen sollte...
LG, Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol [at] adv.magwien.gv.at
Re: Variable gesetzt trotz if
Okay, nachdem mir alle nur mitteilen das mein Code kein Perl sei
hier ein Auszug aus dem Code:
$pathtotemp = "/home/"
my $pruefung = 'false'; # Globale Definition der Variablen
sub user_write {
my $dateiname = $simple_form{'file'};
open(DAT, "<$pathtotemp$dateiname") || die "can't open
$pathtotemp$dateiname: $!\n";
flock (DAT,2);
$zahlen = <DAT>;
close (DAT);
unlink ("$pathtotemp$dateiname"); # Tempdatei wieder löschen
if ($zahlen eq $simple_form{'kontrolle'}) {
$pruefung = 'true';
# Rest gelöscht
Auch $zahlen <> $simple_form{'kontrolle'} wird $pruefung auf 'true' gesetzt.
Warum?
MfG
Heiko
Re: Variable gesetzt trotz if
Post removed (X-No-Archive: yes)
Re: Variable gesetzt trotz if
Heiko Rompel schrieb unter anderem:
> if ($zahlen eq $simple_form{'kontrolle'}) {
> $pruefung = 'true';
Hallo Heiko,
wenn Du nicht dahinter kommst, schau halt nach warum das so ist.
z.Bsp durch einfügen von:
die('('.$zahlen.')('.$simple_form{'kontrolle'}.') eq:('.($zahlen eq
$simple_form{'kontrolle'}).') ne:('.($zahlen ne
$simple_form{'kontrolle'}).')');
unter die "if" Zeile.
Sorry für die PM, ich habe den falscher Knopf erwischt.
Tschööö Thomas
Re: Variable gesetzt trotz if
DANKE.
"Thomas Rudy" schrieb:
> z.Bsp durch einfügen von:
> die('('.$zahlen.')('.$simple_form{'kontrolle'}.') eq:('.($zahlen eq
> $simple_form{'kontrolle'}).') ne:('.($zahlen ne
> $simple_form{'kontrolle'}).')');
Das brachte zwar nicht direkt den Erfolg, aber als ich das übertrug,
schrie mein Fehler mich an.
Ich hatte an der Stelle an der ich $pruefung überprüfe ein '=' anstatt 'eq'
eingesetzt.
> Sorry für die PM, ich habe den falscher Knopf erwischt.
PM? - Hier kam keine an.
MfG
Heiko
Re: Variable gesetzt trotz if
Heiko Rompel:
> Das brachte zwar nicht direkt den Erfolg, aber als ich das übertrug,
> schrie mein Fehler mich an.
> Ich hatte an der Stelle an der ich $pruefung überprüfe ein '=' anstatt
'eq'
> eingesetzt.
Diese Stelle hast du aber nicht gepostet.
LG, Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol [at] adv.magwien.gv.at