Schrift
[thread]11985[/thread]

Module einbinden (Seite 2)

Leser: 4


<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
Linuxer
 2008-06-06 15:16
#110821 #110821
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Warum machst Du ein

Code: (dl )
require Exporter;


und kein

Code: (dl )
use Exporter;


?
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
pq
 2008-06-06 15:17
#110822 #110822
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
Gast+2008-06-06 13:07:23--
okay. Also Lib.pm liegt in c:\Perl\lib\testdir
Code (perl): (dl )
our @EXPORTER = qw(printv);

our @EXPORT
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 & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Linuxer
 2008-06-06 15:19
#110823 #110823
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
pq+2008-06-06 13:17:42--
our @EXPORT


Verdammt, manchmal ist man(n) aber auch blind... |o)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Gast Gast
 2008-06-06 15:25
#110824 #110824
Hallo! Jetzt funktioniert es :-)
Warum weiß ich aber leider nicht. In dem Buch aus dem ich lerne wird das nicht besonders gut erklärt. Hat jemand einen guten Link dazu?
moritz
 2008-06-06 15:34
#110826 #110826
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Reicht die Dokumentation von CPAN:Exporter nicht? Oder was willst du erklärt haben?
Gast Gast
 2008-06-06 15:40
#110827 #110827
Danke! Auf deutsch wär mir lieber aber ich guck's mir auf jeden Fall mal an!
Ich meine die ganze Modulsache - hatte schon immer probleme damit, auch bei objektorientierten Modulen. Kam mir irgendwie immer ein bisschen wie Magie vor, wenn es funktioniert hat. ;-)
Struppi
 2008-06-06 18:00
#110830 #110830
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Perl ist Magie ;-)
betterworld
 2008-06-06 18:41
#110831 #110831
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Linuxer+2008-06-06 13:16:52--
Warum machst Du ein

Code: (dl )
require Exporter;


und kein

Code: (dl )
use Exporter;


?

Ich schreib immer
Code: (dl )
use base qw(Exporter);

Dann spart man sich auch die Zeile mit @ISA.
Gast Gast
 2008-06-07 12:39
#110841 #110841
Überarbeitet entsprechend dem Beispiel in perlmod.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /usr/bin/perl

package Local::Prime;

use strict;
use warnings;

BEGINN {
        use Exporter ();
        our ( $VERSION, @ISA, @EXPORT, @EXPORT_OK );
        $VERSION = 1.00;
        @ISA = qw( Exporter );
        @EXPORT = qw( &is_prime );
        @EXPORT_OK = qw( &prime_numbers );
}

our @EXPORT_OK;


sub is_prime {
        ...
}

sub prime_numbers {
        ...
}

1;


Welchen Vorteil hat die Schreibweise mit dem Begin-Block und warum wird @EXPORT_OK außerhalb nochmal mit our deklariert (bzw. warum z.B. @EXPORT nicht mehr)?
Gast Gast
 2008-06-07 12:42
#110842 #110842
"BEGIN"
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2008-06-06 13:21.