Font

Problem mit ExtUtils::Installed in Active Perl

[thread]14615[/thread]


hide all open all
Subtrees:
Bugreport ( article)
  • close +55 replies
  • close close bianca  2010-02-08 16:39 #132288 #132288
    User since
    2009-09-13
    1222 articles
    [default_avatar]  
    Neuer Thread, da im anderen wohl nicht ganz klar geworden ist, wo das Problem liegt.

    Folgende Situation:
    - Windows XP oder Vista (auf beiden nachstellbar)
    - Kein Perl installiert, quasi komplett perlfreie Zone
    - Activeperl v5.8.9 oder v5.10.1 (mit beiden Versionen gleicher Effekt) wird installiert
    - Folgendes Script wird ausgeführt:

    Code (perl):
    1
    2
    3
    4
    5
    
    #!/usr/bin/perl -w
    use strict;
    use warnings;
    use ExtUtils::Installed;
    my ($inst) = ExtUtils::Installed -> new ();


    Ausgabe siehe http://rapidshare.de/files/49121358/perlfehler.png...

    Diese Ausgabe ist nicht erwünscht und zerstört auch jegliche Anwendung über CGI, weil sie sich vor den Content-Type knallt.

    Wie kann die Anzeige unterdrückt werden?

    Danke
    10 print "Hallo"
    20 goto 10
    • close +3 replies
    • close close renee  2010-02-08 17:02 #132290 #132290
      User since
      2003-08-04
      13019 articles
      [Homepage]
      [default_avatar]  
      Welche Version von ExtUtils::Installed ist das?
      • close bianca  2010-02-08 17:06 #132291 #132291
        User since
        2009-09-13
        1222 articles
        [default_avatar]  
        Dies hier gibt das Modul selbst aus (natürlich nur ein Ausschnitt):

        Code:
        1
        2
        3
        4
        ExtUtils::CBuilder == >0.27<
        ExtUtils::Command == >1.16<
        ExtUtils::Manifest == >1.58<
        ExtUtils::ParseXS == >2.22<


        Ist das das richtige?

        Edit: Das ist jetzt für AP v5.10.1, für das ältere kommt in ca. 45 Minuten. Bis gleich.
        Last edited: 2010-02-08 17:07:52 +01:00
        10 print "Hallo"
        20 goto 10
      • close bianca  2010-02-08 17:55 #132295 #132295
        User since
        2009-09-13
        1222 articles
        [default_avatar]  
        Im AP v5.8.9 sieht das so aus:

        Code:
        1
        2
        3
        4
        5
        ExtUtils::CBuilder == >0.27<
        ExtUtils::Command == >1.16<
        ExtUtils::Install == >1.54<
        ExtUtils::Manifest == >1.58<
        ExtUtils::ParseXS == >2.2202<


        Erstaunlich, dass es genau so bzw. sogar neuer ist als im AP 5.10
        10 print "Hallo"
        20 goto 10
    • close +13 replies
    • close close bianca  2010-02-09 08:42 #132313 #132313
      User since
      2009-09-13
      1222 articles
      [default_avatar]  
      Gibt es denn evtl. hierzu vorübergehend einen Zwischenlösung?
      Leider wird das in der Meldung beschriebene Modul nicht gefunden, daher kann ich es nicht installieren.
      Und Google spuckt dazu nichts passendes aus.
      Herumspielen mit den SIG-Handlern sowie mit STDOUT hat auch alles nichts gebracht.

      Weiß jemand einen Trick dazu?
      Oder: Ist dieses Problem bei Euch überhaupt vorhanden oder kommt die Meldung nur bei mir?
      10 print "Hallo"
      20 goto 10
      • close +12 replies
      • close close renee  2010-02-09 09:26 #132316 #132316
        User since
        2003-08-04
        13019 articles
        [Homepage]
        [default_avatar]  
        Ich habe ja schon geschrieben, dass es ein wohl eher seltenes Problem ist. Ich selbst habe es noch nicht gehabt und ich kann im Moment auch nicht ganz nachvollziehen, wo das herkommt.
        • close +3 replies
        • close close bianca  2010-02-09 09:57 #132321 #132321
          User since
          2009-09-13
          1222 articles
          [default_avatar]  
          Das heißt, wenn Du auf einem perlfreien Windows-Rechner AP 5.8 oder 5.10 ganz frisch von der AP-Seite runter lädst und installierst und anschließend mein Scriptbeispiel laufen läßt, kommt diese Meldung NICHT bei Dir?
          Verstehe ich das richtig?
          Oder kommt sie und Du weißt noch nicht, warum?
          10 print "Hallo"
          20 goto 10
          • close +2 replies
          • close close renee  2010-02-09 10:47 #132330 #132330
            User since
            2003-08-04
            13019 articles
            [Homepage]
            [default_avatar]  
            Ich habe im Moment keinen perlfreien Windows-Rechner zur Verfügung - und habe auch nicht vor, irgendwo mein Perl runterzuschmeißen, weil es zu viel Aufwand ist, bis ich wieder alles drauf habe.

            Ich habe einfach mal auf unterschiedlichen Wegen nach dem Fehler gesucht und kaum Vorkommen gefunden. Bei mir lokal funktioniert alles und im Netz bin ich nur auf drei oder vier Vorkommen gestoßen.

            Danach habe ich mir die Quellen von verschiedenen Modulen angeschaut und auf die Schnelle nichts gefunden, wo der Fehler ausgegeben wird.
            • close bianca  2010-02-09 11:29 #132338 #132338
              User since
              2009-09-13
              1222 articles
              [default_avatar]  
              Ich glaube eigentlich, dass es garnicht nötig ist, vorher den Rechner perlfrei zu machen.
              Hab wirklich den Verdacht, dass der Compiler fehlt.
              Hast Du bei Dir einen drauf?
              Ließe sich der ggf. kurz tarnen?
              10 print "Hallo"
              20 goto 10
        • close +7 replies
        • close close bianca  2010-02-09 09:59 #132322 #132322
          User since
          2009-09-13
          1222 articles
          [default_avatar]  
          Kann ich denn über einen anderen Weg solch einen Compiler installieren, nachdem da gefragt wird, damit das Modul wenigstens ruhig ist?
          Ich hab von Compilern leider noch viel weniger Ahnung als von Perl.
          Da wäre ich über einen Schubs in die richtige Richtung sehr dankbar.

          Das letzte mal hab ich auf dem C64 Basic kompiliert..... :))
          10 print "Hallo"
          20 goto 10
          • close +6 replies
          • close close renee  2010-02-09 10:49 #132332 #132332
            User since
            2003-08-04
            13019 articles
            [Homepage]
            [default_avatar]  
            Natürlich kannst Du einen Compiler noch installieren. Du solltest aber darauf achten, dass es der gleiche Compiler ist, mit dem auch Dein Perl compiliert wurde. Sonst gibt es bei compilierten Modulen unter Umständen Probleme.

            Welcher Compiler das ist, musst Du aber rausfinden (schau Dir mal perl -V an).
            • close +5 replies
            • close close bianca  2010-02-09 11:14 #132335 #132335
              User since
              2009-09-13
              1222 articles
              [default_avatar]  
              Danke für die Mühe.
              -V bringt:

              Code:
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
                Compiler:
              cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SI
              TECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX',
              optimize='-MD -Zi -DNDEBUG -O1',
              cppflags='-DWIN32'
              ccversion='12.00.8804', gccversion='', gccosandvers=''
              intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
              d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
              ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
              alignbytes=8, prototype=define


              Gibt es eine Anleitung dazu, wie man das liest um herauszufinden, welcher Compiler das ist?
              Oder darf ich nochmal um Deine Hilfe bitten?
              10 print "Hallo"
              20 goto 10
              • close +4 replies
              • close close GwenDragon  2010-02-09 11:57 #132340 #132340
                User since
                2005-01-17
                5575 articles
                [Homepage]

                user image  
                Nach der Versionsnummer zur urteilen: MS Visual C++ 6.0
                Packagebeilage:
                Perl-Beispiele können bei Anfängern und Perl-Evangelisten üble Irritationen verursachen und Damian Conway zur Rettung des »Guten Perl-Programmierstils« auf den Plan rufen!


                Ich gebe niemals Perl-Code an Psychopathen weiter. Die bekommen von mir BASIC.

                Germanistikfreaks und grammatikalisch Zwanghafte verweise ich an Hans weiter.
                • close +3 replies
                • close close bianca  2010-02-09 12:06 #132344 #132344
                  User since
                  2009-09-13
                  1222 articles
                  [default_avatar]  
                  2010-02-09T10:57:11 GwenDragon
                  Nach der Versionsnummer zur urteilen: MS Visual C++ 6.0

                  Und den kann ich mir doch aber nicht einfach irgendwo kostenfrei ziehen, oder doch?
                  Und wenn doch, gehst Du davon aus, dass das Modul dann ruhig ist?
                  10 print "Hallo"
                  20 goto 10
                  • close +2 replies
                  • close close GwenDragon  2010-02-09 13:40 #132369 #132369
                    User since
                    2005-01-17
                    5575 articles
                    [Homepage]

                    user image  
                    Download der aktuellen Version Visual C++ (weiß nicht ob die geht!).
                    Ob das Modul dann ruhig ist? Weiß ich nicht.
                    Packagebeilage:
                    Perl-Beispiele können bei Anfängern und Perl-Evangelisten üble Irritationen verursachen und Damian Conway zur Rettung des »Guten Perl-Programmierstils« auf den Plan rufen!


                    Ich gebe niemals Perl-Code an Psychopathen weiter. Die bekommen von mir BASIC.

                    Germanistikfreaks und grammatikalisch Zwanghafte verweise ich an Hans weiter.
                    • close bianca  2010-02-09 14:13 #132383 #132383
                      User since
                      2009-09-13
                      1222 articles
                      [default_avatar]  
                      Quote
                      Visual Studio 2008 Express Editions are free development tools.
                      Register your product within 30 days from installation.


                      Na, Klasse! Fang ich da wieder mit MS an mit Registrierungen etc. etc.
                      Danke fürs recherchieren. Muss mal sehen, ob ich später mal Zeit habe, das zu testen.
                      Ich krieg echt einen Fön. Nur weil dieses sch.... Modul diese sch.... bestußte Meldung von sich geben muss.
                      Glaub ich alles nicht, da bekommt man echt fast Selbstmordgedanken.
                      10 print "Hallo"
                      20 goto 10
        • close bianca  2010-02-09 10:01 #132323 #132323
          User since
          2009-09-13
          1222 articles
          [default_avatar]  
          Oder noch eine Idee: Gibt es ein ähnliches Modul, dass ich stattdessen verwenden könnte. Möglichst mit nicht zu stark abweichender Syntax?
          Im Wiki http://wiki.perl-community.de/foswiki/bin/view/Wis... wird ja auch das Modul verwendet.
          10 print "Hallo"
          20 goto 10
    • close bianca  2010-02-09 13:20 #132365 #132365
      User since
      2009-09-13
      1222 articles
      [default_avatar]  
      Ergänzung: Habe gerade durch Zufall festgestellt, dass diese doofe Meldung sogar dann kommt, wenn ich das Script einfach nur mit perl -c test.pl auf Syntax prüfen lasse.
      Vielleicht hilft das jemandem bei der Ursachenfindung. Ich hoffe es sehr *betend*
      10 print "Hallo"
      20 goto 10
    • close +16 replies
    • close close pq  2010-02-09 13:42 #132370 #132370
      User since
      2003-08-04
      7391 articles
      [Homepage]

      user image  
      wenns nur um die ausgabe geht, wieso leitest du nicht einfach STDERR um?

      edit: bzw. wenns auf STDOUT landet, STDOUT. musst du halt nur vor dem use von dem entsprechenden modul machen.
      Last edited: 2010-02-09 13:45:06 +01:00
      Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
      lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
      • close +15 replies
      • close close bianca  2010-02-09 14:10 #132378 #132378
        User since
        2009-09-13
        1222 articles
        [default_avatar]  
        2010-02-09T12:42:55 pq
        edit: bzw. wenns auf STDOUT landet, STDOUT. musst du halt nur vor dem use von dem entsprechenden modul machen.

        Hatte ich schon versucht, wird vom Modul ignoriert, Meldung kommt trotzdem. Hab das auch weiter oben oder im anderen Thread gepostet.
        10 print "Hallo"
        20 goto 10
        • close +14 replies
        • close close pq  2010-02-09 14:12 #132381 #132381
          User since
          2003-08-04
          7391 articles
          [Homepage]

          user image  
          im anderen thread sehe ich, dass du STDOUT nach dem use umleitest. ich meinte aber davor. stichwort begin-block. oder halt string-eval.
          Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
          lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
          • close +13 replies
          • close close bianca  2010-02-09 14:18 #132386 #132386
            User since
            2009-09-13
            1222 articles
            [default_avatar]  
            Hatte ich natürlich auch getestet und brachte garnichts aber wie gesagt, ich kann nicht alles schreiben, was ich probiert hab, da wäre ich nur noch am schreiben. Manchmal wäre es hilfreich, Ihr würdet mir solche Kleinigkeiten zutrauen und als "schon versucht" voraussetzen.
            Aber was soll ich verlangen, wenn ich mich schon bei -> und = so doof anstelle.
            Es ist zum heulen.

            Das hier bringt die Meldung nach wie vor. Und zwar bei Ausführung und auch beim Check mit perl -c test.pl

            Wäre für mich jetzt auch nicht logisch gewesen, dass es damit lösbar ist, seit ich weiß, dass die Meldung auch bei -c kommt.

            Code (perl):
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            
            #!/usr/bin/perl -w
            use strict;
            use warnings;
            
            open my $oldout, ">&STDOUT" or die "Can't dup STDOUT: $!";
            open STDOUT, '>', "foo.out" or die "Can't redirect STDOUT: $!";
            print "test1\n";
            use ExtUtils::Installed;
            my ($inst) = ExtUtils::Installed -> new ();
            open STDOUT,">&",$oldout or die "Can't dup \$oldout: $!";
            print "test2\n";

            10 print "Hallo"
            20 goto 10
            • close +10 replies
            • close close pq  2010-02-09 14:20 #132388 #132388
              User since
              2003-08-04
              7391 articles
              [Homepage]

              user image  
              stichwort begin block. oder string eval. (ich wiederhole mich.)
              wo ist das problem? weisste doch, wie das geht.

              das use wird beim kompilieren ausgeführt. das ist dann schon längst passiert, wenn du STDOUT umleitest.

              bitte lies doch mal meine posts genauer, du verlangst ja auch von den antwortenden öfter mal, dass sie deine fragen genauer lesen sollen.
              Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
              lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
              • close +9 replies
              • close close bianca  2010-02-09 14:27 #132392 #132392
                User since
                2009-09-13
                1222 articles
                [default_avatar]  
                Jaaaaa, jetzt läufts :)
                Watt soll ich sagen? Ich sage einfach mal nur: D A N K E !!
                Und sorry, dass man mir alles zweimal sagen muss, bis ich es schnalle.

                Hier die Lösung:

                Code (perl):
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                
                #!/usr/bin/perl -w
                use strict;
                use warnings;
                
                open my $oldout, ">&STDOUT" or die "Can't dup STDOUT: $!";
                open STDOUT, '>', "foo.out" or die "Can't redirect STDOUT: $!";
                print "test1\n";
                eval "use ExtUtils::Installed; 1;";
                my ($inst) = ExtUtils::Installed -> new ();
                open STDOUT,">&",$oldout or die "Can't dup \$oldout: $!";
                print "test2\n";


                Abschließende Frage: Ist meine Umleiterei von STDOUT so in Ordnung? Hab das irgendwo abgeschrieben aus dem Netz.

                Danke
                10 print "Hallo"
                20 goto 10
                • close +8 replies
                • close close pq  2010-02-09 14:29 #132394 #132394
                  User since
                  2003-08-04
                  7391 articles
                  [Homepage]

                  user image  
                  2010-02-09T13:27:09 bianca
                  Und sorry, dass man mir alles zweimal sagen muss, bis ich es schnalle.

                  das an sich ist kein problem. deine ewige rummeckerei, wir sollen doch kein wissen voraussetzen und dann sollen wir doch wissen voraussetzen, das nervt. du beschimpfst regelmässig deine helfer, wenn dir was nicht passt.
                  ich hab das hier lediglich gepostet, damit das problem endlich mal vom tisch ist.
                  Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
                  lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
                  • close +7 replies
                  • close close bianca  2010-02-09 14:35 #132398 #132398
                    User since
                    2009-09-13
                    1222 articles
                    [default_avatar]  
                    2010-02-09T13:29:22 pq
                    das an sich ist kein problem. deine ewige rummeckerei, wir sollen doch kein wissen voraussetzen und dann sollen wir doch wissen voraussetzen, das nervt. du beschimpfst regelmässig deine helfer, wenn dir was nicht passt.
                    ich hab das hier lediglich gepostet, damit das problem endlich mal vom tisch ist.

                    Hatte ich doch selbst geäußert und wieder zurückgenommen. War nur laut gedacht. ;)
                    Und Helfer beschimpfen?
                    Falls dem so ist, war es so nicht gemeint. Hab ich irgendwo ein falsches Wort benutzt?
                    Fühlt sich jemand beschimpft?
                    10 print "Hallo"
                    20 goto 10
                    • close +6 replies
                    • close close pq  2010-02-09 14:44 #132403 #132403
                      User since
                      2003-08-04
                      7391 articles
                      [Homepage]

                      user image  
                      2010-02-09T13:35:12 bianca
                      Und Helfer beschimpfen?
                      Falls dem so ist, war es so nicht gemeint. Hab ich irgendwo ein falsches Wort benutzt?
                      Fühlt sich jemand beschimpft?

                      im übertragenen sinne ja:
                      2010-02-07T19:10:23 bianca
                      Das hab ich jetzt davon, dass ich ständig auf pq und die anderen höre und mit Modulen arbeite.
                      [...]
                      Module sind eine wirklich zweifelhafte Erfindung!
                      [...]
                      Wie kann man in so einen Mist soviel Zeit investieren? In der gleichen Zeit hätte ich mindestens 2 weitere funktionale Programmteile fertig gestellt. Das ärgert mich wirklich sehr!


                      wenn das alles so ein mist ist mit den modulen, warum benutzt du sie dann? es zwingt dich keiner.

                      und ich fühle mich wie schon gesagt veralbert, wenn du einserseits immer wieder forderst, man soll doch bitte nicht so viel wissen voraussetzen und dann wiederum hat man dir plötzlich zu wenig zugetraut und dann kommt ein genervtes "hab ich doch schon gemacht".
                      aber wie immer scheint das nicht bei dir anzukommen, dass du deine helfer damit vor den kopf stösst.

                      edit: da mir der vorwurf gemacht wurde, ich zitiere zusammenhanglos, so dass es für meine aussage passt, darf jeder die message komplett selber nachlesen: msg #132198
                      Last edited: 2010-02-09 15:08:37 +01:00
                      Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
                      lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
                      • close +4 replies
                      • close close bianca  2010-02-09 14:50 #132405 #132405
                        User since
                        2009-09-13
                        1222 articles
                        [default_avatar]  
                        Wenn Du nicht immer nur das für Dich lesen würdest, was Dir als Grund gereicht, mich anzumachen, wäre unser Verhältnis vielleicht nicht so gestört. Das würde mich sehr freuen.
                        10 print "Hallo"
                        20 goto 10
                        • close +3 replies
                        • close close pq  2010-02-09 14:57 #132407 #132407
                          User since
                          2003-08-04
                          7391 articles
                          [Homepage]

                          user image  
                          und was mich freuen würde, schrieb ich schon. ich muss niemandem helfen. thema für mich beendet.
                          Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
                          lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
                          • close +2 replies
                          • close close bianca  2010-02-09 15:01 #132408 #132408
                            User since
                            2009-09-13
                            1222 articles
                            [default_avatar]  
                            Siehe PM
                            10 print "Hallo"
                            20 goto 10
                      • close bianca  2010-02-09 15:14 #132411 #132411
                        User since
                        2009-09-13
                        1222 articles
                        [default_avatar]  
                        2010-02-09T13:44:17 pq
                        edit: da mir der vorwurf gemacht wurde, ich zitiere zusammenhanglos, so dass es für meine aussage passt, darf jeder die message komplett selber nachlesen: msg #132198

                        Ja, das war ich, weil der letzte Satz meines Posts in Deinem Zitat leider fehlt.
                        Aber mach Du mal :)
                        Sehr amüsant.
                        10 print "Hallo"
                        20 goto 10
            • close pq  2010-02-09 14:23 #132389 #132389
              User since
              2003-08-04
              7391 articles
              [Homepage]

              user image  
              2010-02-09T13:18:59 bianca
              Manchmal wäre es hilfreich, Ihr würdet mir solche Kleinigkeiten zutrauen und als "schon versucht" voraussetzen.

              hm. mal verlangst du, wir sollen nicht zuviel wissen voraussetzen, und dann verlangst du, wir sollen doch mal etwas wissen voraussetzen.
              dann wieder schimpfst du generell auf module.
              software-entwicklung ist kein zuckerschlecken.
              also wie jetzt? sollen wir dir was zutrauen oder nicht?
              das mit dem begin-block habe ich dir zugetraut. ich hatte es ja extra erwähnt. dann machst du das ganze doch ohne begin-block und schreibst "hab ich doch gemacht".
              Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
              lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
            • close pq  2010-02-09 14:26 #132391 #132391
              User since
              2003-08-04
              7391 articles
              [Homepage]

              user image  
              also, da du anscheinend nicht weisst, wie man ein use in ein string-eval packt (obwohl du es ja anderswo, z.b. mit GD::Graph, schon tust), hier nochmal zum mitlesen:
              Code (perl):
              eval "use ExtUtils::Installed";

              dann wird das zeitlich auch zwischen den umleitungen ausgeführt.
              Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
              lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
    • close +14 replies
    • close close GwenDragon  2010-02-09 13:46 #132371 #132371
      User since
      2005-01-17
      5575 articles
      [Homepage]

      user image  
      Nur Perl 5.10.1 meckert das Fehlen des Compilers an.
      Perl 5.8.9 tut das nicht bei ExtUtils::Installed.


      Packagebeilage:
      Perl-Beispiele können bei Anfängern und Perl-Evangelisten üble Irritationen verursachen und Damian Conway zur Rettung des »Guten Perl-Programmierstils« auf den Plan rufen!


      Ich gebe niemals Perl-Code an Psychopathen weiter. Die bekommen von mir BASIC.

      Germanistikfreaks und grammatikalisch Zwanghafte verweise ich an Hans weiter.
      • close +13 replies
      • close close bianca  2010-02-09 14:11 #132379 #132379
        User since
        2009-09-13
        1222 articles
        [default_avatar]  
        2010-02-09T12:46:43 GwenDragon
        Nur Perl 5.10.1 meckert das Fehlen des Compilers an.
        Perl 5.8.9 tut das nicht bei ExtUtils::Installed.

        Vielen Dank fürs testen. Bei mir ist das leider definitiv in beiden Versionen.

        Welche Version des Moduls hast Du bei 5.8.9 dabei?
        10 print "Hallo"
        20 goto 10
        • close +12 replies
        • close close GwenDragon  2010-02-09 14:18 #132385 #132385
          User since
          2005-01-17
          5575 articles
          [Homepage]

          user image  
          U:\>perl58 -MExtUtils::Installed -e "print $ExtUtils::Installed::VERSION"
          1.43
          U:\>perl510 -MExtUtils::Installed -e "print $ExtUtils::Installed::VERSION"

          It looks like you don't have a C compiler on your PATH, so you will not be
          able to compile C or XS extension modules. You can install GCC from the
          MinGW package using the Perl Package Manager by running:

          ppm install MinGW

          1.999001
          U:\>


          Ekelhaft nervige Meldung!

          Die entsteht schon beim Laden des Moduls durch use!
          Last edited: 2010-02-09 14:20:21 +01:00
          Packagebeilage:
          Perl-Beispiele können bei Anfängern und Perl-Evangelisten üble Irritationen verursachen und Damian Conway zur Rettung des »Guten Perl-Programmierstils« auf den Plan rufen!


          Ich gebe niemals Perl-Code an Psychopathen weiter. Die bekommen von mir BASIC.

          Germanistikfreaks und grammatikalisch Zwanghafte verweise ich an Hans weiter.
          • close bianca  2010-02-09 14:20 #132387 #132387
            User since
            2009-09-13
            1222 articles
            [default_avatar]  
            Kann ich vielleicht meine 2.22 oder was ich da drauf hab gegen die 1.43 tauschen?
            Und warum hast Du überhaupt 1.43 drauf?
            Hast Du nicht das AP von der Original Seite als MSI-Paket?
            Wie kommt der Unterschied zustande?
            10 print "Hallo"
            20 goto 10
          • close renee  2010-02-09 14:36 #132399 #132399
            close Subtree with 10 replies: Bugreport
            User since
            2003-08-04
            13019 articles
            [Homepage]
            [default_avatar]  
            Ich halte das für einen Bug im Modul. Hast Du nicht Lust, nen Bugreport dafür zu schreiben?
            Last edited: 2010-03-08 20:49:47 +01:00
    • close +7 replies
    • close close GwenDragon  2010-02-09 14:38 #132400 #132400
      User since
      2005-01-17
      5575 articles
      [Homepage]

      user image  
      Die Meldung selbst ist in Config.pm beheimatet. ExtUtils::Installed ruft das irgendwie auf.

      Abhilfe möglich.

      Anstatt
      use ExtUtils::Installed;
      verwende
      eval "use ExtUtils::Installed; ";

      Das verhindert die Ausgabe.

      Allerdings musst du dann den Fehlschlag auf das Nichtladen des Moduls anders prüfen, weil $@ ja schon die mistige Meldung über den Compiler ernthält.
      Last edited: 2010-02-09 15:14:04 +01:00
      Packagebeilage:
      Perl-Beispiele können bei Anfängern und Perl-Evangelisten üble Irritationen verursachen und Damian Conway zur Rettung des »Guten Perl-Programmierstils« auf den Plan rufen!


      Ich gebe niemals Perl-Code an Psychopathen weiter. Die bekommen von mir BASIC.

      Germanistikfreaks und grammatikalisch Zwanghafte verweise ich an Hans weiter.
      • close pq  2010-02-09 14:45 #132404 #132404
        User since
        2003-08-04
        7391 articles
        [Homepage]

        user image  
        schrieb ich ja schon. es dauerte nur sehr lange, bis es bei bianca ankam.
        Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
        lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
      • close +2 replies
      • close close renee  2010-02-09 14:52 #132406 #132406
        User since
        2003-08-04
        13019 articles
        [Homepage]
        [default_avatar]  
        Ah, in Config.pm. Kein Wunder, dass ich es auf die Schnelle nicht gefunden habe...
        • close GwenDragon  2010-02-09 15:12 #132410 #132410
          User since
          2005-01-17
          5575 articles
          [Homepage]

          user image  
          Ja, ich habe dort auch erst zuletzt nachgesehen.
          Unter Windows ist es auch schwer zu finden, wenn eine die DOS-Befehle zur Suche nicht kennt (Linux vergiftet ;) ). Und nicht jeder Windows-Rechner hat grep.
          Packagebeilage:
          Perl-Beispiele können bei Anfängern und Perl-Evangelisten üble Irritationen verursachen und Damian Conway zur Rettung des »Guten Perl-Programmierstils« auf den Plan rufen!


          Ich gebe niemals Perl-Code an Psychopathen weiter. Die bekommen von mir BASIC.

          Germanistikfreaks und grammatikalisch Zwanghafte verweise ich an Hans weiter.
      • close bianca  2010-02-09 15:16 #132412 #132412
        User since
        2009-09-13
        1222 articles
        [default_avatar]  
        Ich mache eval "use ExtUtils::Installed;" or $error = "Kann Modul >ExtUtils::Installed< nicht aufrufen wegen >$!<"; das funktioniert soweit.
        OK aus Deiner Sicht?

        Edit: Nee, garnicht gut. Hab an der Stelle "Bad file descriptor" in $! stehen. Hmmm. Was frag ich denn da jetzt am besten mal ab?
        Last edited: 2010-02-09 15:21:59 +01:00
        10 print "Hallo"
        20 goto 10
      • close +2 replies
      • close close bianca  2010-02-09 15:31 #132413 #132413
        User since
        2009-09-13
        1222 articles
        [default_avatar]  
        Mach es jetzt so, das läuft:

        Code (perl):
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        
        #!/usr/bin/perl -w
        use strict;
        use warnings;
        
        my (@modules,$inst);
        my $error = '';
        open my $oldstd, ">&STDOUT" or $error = "Kann STDOUT nicht kopieren wegen >$!<";
        if ($error eq '') {
        	open STDOUT,'>',"foo.out" or $error = "Kann STDOUT nicht umleiten wegen >$!<";
        	if ($error eq '') {
        		eval "use ExtUtils::Installed; \$inst = ExtUtils::Installed -> new (); \@modules = \$inst -> modules ();";	# muss zwingend in eval, weil sonst eine nicht unterdrückbare Meldung wg. fehlendem Compiler rauskommt!
        		open STDOUT,">&",$oldstd;
        		close $oldstd;
        	}
        }
        if (scalar @modules) {
        	for my $modul (sort {lc $a cmp lc $b} @modules) {
        		print $modul . " == >" . $inst -> version ($modul) . "<\n";
        	}
        }
        10 print "Hallo"
        20 goto 10
        • close Crian  2010-02-10 08:55 #132500 #132500
          User since
          2003-08-04
          5694 articles
          [Homepage]
          [default_avatar]  
          Wäre die andere mögliche Lösung von pq - der begin block - vielleicht Fehlerabfragetechnisch einfacher zu handhaben?
          s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

          use strict; use warnings; Link zu meiner Perlseite

View all threads created 2010-02-08.

[Powered by Battie]
Powered by Perl
Powered by Pound
Some Icons are from
Fugue Icons
Impressum