Schrift
[thread]8726[/thread]

Subroutinen in separate Dateien legen?



<< >> 4 Einträge, 1 Seite
Smartie
 2007-02-06 02:00
#74047 #74047
User since
2007-02-03
1 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich vermisse in Perl irgendwie die praktische Angewohnheit (wie in C .. (bitte nicht schlagen)) Subroutinen/Funktionen in separate Dateien legen zu koennen.
Bzw. habe ich dazu bisher nichts gefunden. Weiss jemand wie das geht, bzw. wie ich diese separaten Dateien dann "inkludiere"?

oder ist das alles ganz boese?
gruss, smartie
Ishka
 2007-02-06 02:35
#74048 #74048
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
In perl nennt sich das Modul. Ein Modul verwendest du durch
use Modulname;
für die Datei mußt du an den Modulnamen noch ein .pm hängen.

Wichtig ist ferner an einem Modul, daß es 1 zurückgeben muß, also einfach ein 1; in die letzte Zeile.

Und jetzt noch ein Beispiel:
Code: (dl )
1
2
3
use Blubb;

blah();


und in der Datei Blubb.pm:
Code: (dl )
1
2
3
4
5
6
sub blah
{
print "Hallo Modul\n";
}

1;


Eine größere Sammlung existierender Module findest du unter CPAN.
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
bloonix
 2007-02-06 09:48
#74049 #74049
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Ishka hat zwar schon das Wichtigste erwähnt, hier aber noch ein paar Links.

Wie man Module "inkludiert", kannst du hier nachlesen:

Perldoc:Functions/use

Noch ein paar Links die dir weiterhelfen könnten:

How-do-I-install-a-module-from-CPAN
How-do-I-create-a-module mit vielen weiteren Links
How-do-I-keep-my-own-module-library-directory

Hier die Übersicht:

Perldoc::Search qw/modules/;

Wie du sehen kannst - wenn du die Links anklickst - sind alle Seiten nach
perldoc.perl.org verlinkt. Dort findest du alle Informationen rund
ums Programmieren mit Perl. Hier im WIki findest du teilweise eine
Übersetzung ins Deutsche der Perldokumentation. Stöber einfach mal ein
wenig rum: wiki.perl-community.de

[quote=Smartie,06.02.2007, 01:00](wie in C .. (bitte nicht schlagen))[/quote]
Ohne C gäbe es vermutlich kein Perl... also wird dich hier niemand
versohlen, sondern viel eher begrüßen! :)\n\n

<!--EDIT|opi|1170748918-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
GwenDragon
 2007-02-06 11:17
#74050 #74050
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
Es lassen sich auch in andere Perl-Skripte ausgelagerte Daten und Funktionen aufrufen, in dem du sie mit Perldoc:require oder Perldoc:do "einbindest".\n\n

<!--EDIT|GwenDragon|1170753706-->
<< >> 4 Einträge, 1 Seite



View all threads created 2007-02-06 02:00.