Thomas: Unklare Meldung

Beitrag lesen

Hallo,
nach dem Studium der empfohlenen Literatur habe ich jetzt ein neues Problem.
In dem nachfolgenden Programm habe ich ursprünglich die Funktion p1 aufgerufen und danach deklariert. Da kam die Meldung
'main::sub1() called too early to check prototype  ...'
Daraufhin habe ich es mit der Funktion sub2 gerade umgekehrt gemacht, nämlich Deklaration und danach den Aufruf.
Da kam aber wieder eine Meldung (siehe unten)
Ich kenne es von anderen Sprachen, dass man die Funktionsdefinition zu Programmbeginn oder irgendwann später machen kann.
Wie ist es bei Perl?

  
#!/usr/bin/perl -w  
sub sub2 ()  
  {  
   print "21: \$v1=$v1\n";  
  }  
my $v1 = 10;  
print "00: \$v1=$v1\n";  
sub1 ();  
sub2 ();  
sub sub1 ()  
  {  
    print "11: \$v1=$v1\n";  
  }  

Ergebnis:

main::sub1() called too early to check prototype at F:\cgi-bin\p1.pl line 8.
Name "main::v1" used only once: possible typo at F:\cgi-bin\p1.pl line 4.
00: $v1=10
11: $v1=10
Use of uninitialized value in concatenation (.) or string at F:\cgi-bin\p1.pl line 4.
21: $v1=

Gruß
Thomas

0 54

Unklare Meldung

Thomas
  • perl
  1. 0
    Struppi
  2. 0
    Patrick Andrieu
    1. 0
      Thomas
      1. 0
        Horst
        1. 0
          Thomas
          1. 0
            Struppi
            1. 0
              Horst
        2. 0
          Manuel B.
      2. 0
        Patrick Andrieu
      3. 0
        Daniel Thoma
        1. 0
          Thomas
          1. 0
            Patrick Andrieu
            1. 0
              Thomas
              1. 0
                Struppi
                1. 0
                  Patrick Andrieu
                2. 0
                  Thomas
                  1. 0
                    Struppi
                3. 0
                  Thomas
        2. 0
          Thomas nochmal
          1. 0
            Daniel Thoma
  3. 0
    Thomas
    1. 0
      Struppi
      1. 0
        Thomas
        1. 0
          Struppi
          1. 0
            Thomas
            1. 0
              Struppi
              1. 0
                Thomas
                1. 0
                  Struppi
                2. 0
                  Daniel Thoma
            2. 0
              Siechfred
              1. 0
                Thomas
                1. 0
                  Siechfred
                2. 0
                  Struppi
                  1. 0
                    Thomas
                    1. 0
                      Struppi
                    2. 0
                      Siechfred
                      1. 0
                        Thomas
                        1. 0
                          Kurt
                          1. 0
                            Thomas
                            1. 0
                              Kurt
                              1. 0

                                Kurzversion

                                Kurt
                              2. 0
                                Thomas
                                1. 0
                                  Kurt
                                  1. 0
                                    Thomas
                                    1. 0
                                      Kurt
                                      1. 0
                                        Struppi
                                        1. 0
                                          Kurt
                                        2. 0
                                          Kurt
                                          1. 0
                                            Struppi
                                      2. 0

                                        Klare Funktionsdefinitionen in Perl

                                        Kurt
    2. 0
      Siechfred
      1. 0
        Thomas
        1. 0
          Siechfred