Perl onverwachte output

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo Tweakers,

De volgende subroutine heeft de als output 441

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
print printUlam(3);

sub printUlam
{
    my $inputNumber = shift;
        
print  (2 * 2 );    
    #fix de onevenheid
    if (($inputNumber % 2) == 0)
    {
        $inputNumber = ($inputNumber + 1);
    }
print  (2 * 2 );
}


De eerste 2*2 gaat goed, de 2e 2*2 resulteerd in 41. Er gaat iets fout met me onevenheid vergelijking maar ik zie niet wat :(. Iemand?

Mijn perl versie is:
This is perl, v5.10.0 built for i486-linux-gnu-thread-multi


//edit: } toegevoegd; daar zit het hem niet in.

[ Voor 13% gewijzigd door Verwijderd op 15-06-2009 20:48 ]


Acties:
  • 0 Henk 'm!

  • kw4h
  • Registratie: Februari 2008
  • Laatst online: 12-09 08:59
Ik denk dat de eerste 4 je eerste print statement is, de tweede 4 de tweede print statement.... en de 1 is de error/successcode van het uitvoeren?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
<krachtterm>

Je hebt gelijk

code:
1
2
print  (2 * 2 );
print 'a';


resulteerd in 44a1 zo ik schaam me kapot man |:( |:(