Perl:hab ma ne Frage...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Perl:hab ma ne Frage...

    ...und zwar was bedeutet dieser fehler?
    PHP-Code:
    Global symbol "$allquestionsrequires explicit package name at C:\... 
    Thx im vorraus

  • #2
    hast du irgendwo use strict; verwendest? wenn ja, 2 Lösungen:

    1. (schlecht)

    #use strict;

    2. (empfohlen)

    use strict;
    my $allquestions;

    Kommentar


    • #3
      ich benutze use strict ,habe aber überall "my" davor.
      Funktioniert trotzdem nicht.
      hier ist mal mein programm.
      PHP-Code:
      use strict;
      use 
      warnings;
      use 
      Tk;
      use 
      POSIX;
      open (DATEI "<Questions.bl");
      my @allquestions = <DATEI>;
      close (DATEI);
      my $random =rand($allquestions);
      $random=ceil($random);
      my @question split(/:/, $allquestions[$random]);
      my $window MainWindow->new();

      $window->Label(-textvariable => \$question[0], )->pack();

      my $button1 $window->Button(-textvariable => \$question[1],
                                    -
      command => \&a,
                                    -
      background => 'blue', )
                        ->
      pack(-fill => 'both', );


      my $button2 $window->Button(-textvariable => \$question[2],
                                    -
      command => \&b,
                                    -
      background => 'blue', )
                        ->
      pack(-fill => 'both', );


      my $button3 $window->Button(-textvariable => \$question[3],
                                    -
      command => \&c,
                                    -
      background => 'blue', )
                        ->
      pack(-fill => 'both', );

      my $button4 $window->Button(-textvariable => \$question[4],
                                    -
      command => \&d,
                                    -
      background => 'blue',) 
                        ->
      pack(-fill => 'both', );
      MainLoop();

      #-------------------------------------------------------------------------------

      sub a {
      if (
      $question[5] == 1){
      $random =rand($allquestions);
      $random=ceil($random);
      my @question split(/:/, $allquestions[$random]);
      my $top $window-> Toplevel();
      $top->Label(-text => 'RICHTIG!!! :-)',
                  -
      background => 'green', )
                  ->
      pack();

      $top->Button(-text => 'Weiter'
                   -
      command => [$top => 'destroy'],)
               ->
      pack(-fill => 'both',);
      }
      else{
      my $top $window-> Toplevel();
      $top->Label(-text => 'Leider falsch...',
                  -
      background => 'red', )
                  ->
      pack();

      $top->Button(-text => 'Nochmal',
               -
      command => [$top => 'destroy'], )
                   ->
      pack(-fill => 'both',);
      }
      }

      #-------------------------------------------------------------------------------

      sub b {
      if (
      $question[5] == 2){
      my $random =rand($allquestions);
      $random=ceil($random);
      @
      question split(/:/, $allquestions[$random]);
      my $top $window-> Toplevel();
      $top->Label(-text => 'RICHTIG!!! :-)',
                  -
      background => 'green', )
                  ->
      pack();

      $top->Button(-text => 'Weiter'
                   -
      command => [$top => 'destroy'],)
               ->
      pack(-fill => 'both',);
      }
      else{
      my $top $window-> Toplevel();
      $top->Label(-text => 'Leider falsch...',
                  -
      background => 'red', )
                  ->
      pack();

      $top->Button(-text => 'Nochmal',
               -
      command => [$top => 'destroy'], )
                   ->
      pack(-fill => 'both',);
      }
      }

      #-------------------------------------------------------------------------------

      sub c {
      if (
      $question[5] == 3){
      $random =rand($allquestions);
      $random=ceil($random);
      @
      question split(/:/, $allquestions[$random]);
      my $top $window-> Toplevel();
      $top->Label(-text => 'RICHTIG!!! :-)',
                  -
      background => 'green', )
                  ->
      pack();

      $top->Button(-text => 'Weiter'
                   -
      command => [$top => 'destroy'],)
               ->
      pack(-fill => 'both',);
      }
      else{
      my $top $window-> Toplevel();
      $top->Label(-text => 'Leider falsch...',
                  -
      background => 'red', )
                  ->
      pack();

      $top->Button(-text => 'Nochmal',
               -
      command => [$top => 'destroy'], )
                   ->
      pack(-fill => 'both',);
      }
      }

      #-------------------------------------------------------------------------------

      sub d {
      if (
      $question[5] == 4){
      $random =rand($allquestions);
      $random=ceil($random);
      @
      question split(/:/, $allquestions[$random]);
      my $top $window-> Toplevel();
      $top->Label(-text => 'RICHTIG!!! :-)',
                  -
      background => 'green', )
                  ->
      pack();

      $top->Button(-text => 'Weiter'
                   -
      command => [$top => 'destroy'],)
               ->
      pack(-fill => 'both',);
      }
      else{
      my $top $window-> Toplevel();
      $top->Label(-text => 'Leider falsch...',
                  -
      background => 'red', )
                  ->
      pack();

      $top->Button(-text => 'Nochmal',
                   -
      command => [$top => 'destroy'], )
                   ->
      pack(-fill => 'both',);
      }
      }

      #-------------------------------------------------------------------------------
      #-------------------------------------------------------------------------------

      sub next {
      my $top $window-> Toplevel();
      $top->Label(-text => 'RICHTIG!!! :-)',
                  -
      background => 'green', )
                  ->
      pack();

      $top->Button(-text => 'Weiter'
                   -
      command => [$top => 'destroy'],)
               ->
      pack(-fill => 'both',);

      und hier die fehlermeldung:
      PHP-Code:
      Global symbol "$allquestionsrequires explicit package name at C:\Dokumente und Einstellungen\Blacklight\Eigene Dateien\Schule\Mathe-Info\WWM-Prog\Kopie von WWM.pl line 8.
      Global symbol "$allquestionsrequires explicit package name at C:\Dokumente und Einstellungen\Blacklight\Eigene Dateien\Schule\Mathe-Info\WWM-Prog\Kopie von WWM.pl line 42.
      Global symbol "$allquestionsrequires explicit package name at C:\Dokumente und Einstellungen\Blacklight\Eigene Dateien\Schule\Mathe-Info\WWM-Prog\Kopie von WWM.pl line 70.
      Global symbol "$allquestionsrequires explicit package name at C:\Dokumente und Einstellungen\Blacklight\Eigene Dateien\Schule\Mathe-Info\WWM-Prog\Kopie von WWM.pl line 98.
      Global symbol "$allquestionsrequires explicit package name at C:\Dokumente und Einstellungen\Blacklight\Eigene Dateien\Schule\Mathe-Info\WWM-Prog\Kopie von WWM.pl line 126.
      Execution of C
      :\Dokumente und Einstellungen\Blacklight\Eigene Dateien\Schule\Mathe-Info\WWM-Prog\Kopie von WWM.pl aborted due to compilation errors
      vllt. weiss ja irgendjemand wo der fehler liegt.

      Kommentar

      Lädt...
      X