Thread erstes eigenes modul -> anfängerproblem (7 answers)
Opened by belor at 2007-08-26 19:40

kristian
 2007-08-27 22:22
#98726 #98726
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo

Ich glaube hier wird an der Fragestellung - siehe Titel - vorbei geantwortet.
Als Quelle zum Lesen könnten: "perldoc perlmod" und
Zitat aus diesem:
--------------------------------------------------------------------------------------------------------
See perlmodlib for general style issues related to building Perl mod-
ules and classes, as well as descriptions of the standard library and
CPAN, Exporter for how Perl's standard import/export mechanism works,
perltoot and perltooc for an in-depth tutorial on creating classes,
perlobj for a hard-core reference document on objects, perlsub for an
explanation of functions and scoping, and perlxstut and perlguts for
more information on writing extension modules.
--------------------------------------------------------------------------------------------------------
sinnvoll sein.

Als Beispiel für den Anfänger könnte:

- Modul:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package MyFirstModul;
use strict;

sub new{
    my $pkg  = shift;
    my $self = {};
    bless $self, ref $pkg || $pkg;
    return $self;      
}

sub replace{
    my $self = shift;
    my $data = shift;
    $data =~ s/a/b/gi;
    return $data;    
}

1;

- Script:
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
#!/usr/bin/perl
$|++;
use strict;
use warnings;
use FindBin;
use File::Spec;

# Verzeichnis / Ordner fuer eigene Module einbinden
my $lib_dir = File::Spec->catdir($FindBin::Bin, 'mylibs'); 
unshift(@INC,$lib_dir);

# Eignes Modul "laden"
require MyFirstModul; # MyFirstModul.pm gespeichert in /wo_das_Script_ist/mylibs

# Eigenes Modul einbinden
my $lets_do = new MyFirstModul;

# Daten am Anfang + Ausgabe
my $string = 'Hallo World';
print $string . "\n";

# Modul benutzen => Daten aendern + Ausgabe
my $new_string = $lets_do->replace($string);
print $new_string . "\n";

sinnvoll sein.

Gruss
Kristian

View full thread erstes eigenes modul -> anfängerproblem