Schrift
[thread]7095[/thread]

subs aus anderen dateien



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
rio
 2005-07-02 15:39
#55887 #55887
User since
2004-05-31
105 Artikel
BenutzerIn
[default_avatar]
hi, wie kann ich in datei1.pl eine sub aus datei 2.pl benutzen?
pq
 2005-07-02 15:43
#55888 #55888
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
einfach mit require laden und aufrufen. es sei denn, du hast verschiedene packagennamen.
musst vielleicht etwas genauer werden, wie deine skripte aussehen.
perldoc -f require
perldoc perlmod
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
rio
 2005-07-02 15:44
#55889 #55889
User since
2004-05-31
105 Artikel
BenutzerIn
[default_avatar]
dann mach ich einfach require datei2.pl;

und dann ruf ich die sub ganz normal auf oder ?
rio
 2005-07-02 15:51
#55890 #55890
User since
2004-05-31
105 Artikel
BenutzerIn
[default_avatar]
Code: (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
sub strDate {

#array mit den daten
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);


#eine null vorsetzen falls der tag 9 oder kleiner ist um 2 stelligkeit zu erzwingen
if($mday<=9)
{
$temp="0";
$mday=$temp.$mday;
}

$mon=$mon+1; #+1 da monate bei 0 beginnen
#eine null vorsetzen falls der monat 9 oder kleiner ist 2 stelligkeit zu erzwingen
if($mon<=9)
{
$temp="0";
$mon=$temp.$mon;
}

$actyear=$year+1900;
$datum=$actyear.$mon.$mday; #datum zusammen setzen

return $datum;
}


das ist die sub und die will ich nun aufrufen
Code: (dl )
1
2
3
4
5
require "sub/strDate.pl";
    
$blub = strDate();

print $blub;


nur leider gibt der nix aus , kann mir einer helfen den fehler zu finden?\n\n

<!--EDIT|rio|1120305119-->
rio
 2005-07-02 16:04
#55891 #55891
User since
2004-05-31
105 Artikel
BenutzerIn
[default_avatar]
can't locate subroutines @inc <inccontainsc:perl/libc:/perl/site/libatlinec:/programme/apachegroup/.../2printenv.pl>
sagt er immer (2printenv.pl heisst das haupt script das die sub aufruft)\n\n

<!--EDIT|rio|1120305888-->
pq
 2005-07-02 16:16
#55892 #55892
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das heißt, perl kann dein .pl nicht finden.
fehlermeldungen bitte immer per copy&paste posten, das da oben ist abgetippt und passt
nicht zu deinem code-beispiel.
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
FIFO
 2005-07-02 16:19
#55893 #55893
User since
2005-06-01
469 Artikel
BenutzerIn

user image
Warum nicht ein kleines Modul, kannste dann mit "use XXX" aufrufen und alles klappt.
Mit sprintf wird es noch ein bisschen eleganter, TIMTOWTDI ;-)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# abspeichern als XXX.pm
package XXX;
use Exporter;
our @ISA = ("Exporter");
our @EXPORT = qw (strDate sub_2);

sub strDate { # Ausgabe JJJJ.TT.MM mit führender Null
my @jetzt = localtime;
return sprintf "%4d.%02d.%02d", $jetzt[5]+1900, ++$jetzt[4], $jetzt[3];
}

sub sub_2{
# Hier die nächste Funktion
}

# etc.
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
pq
 2005-07-02 16:23
#55894 #55894
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
naja, man könnte auch gleich was vorhandenes nehmen:
use POSIX;
print strftime("%Y.%m.%d", gmtime)
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
FIFO
 2005-07-02 16:43
#55895 #55895
User since
2005-06-01
469 Artikel
BenutzerIn

user image
Klaro, hatte mehr den Eindruck, es wäre eine grundsätzliche Frage zur Mehrfachverwendung von eigenem Code ...
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
Crian
 2005-07-05 12:10
#55896 #55896
User since
2003-08-04
5867 Artikel
ModeratorIn
[Homepage]
user image
und 1; nicht vergessen am Ende
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
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2005-07-02 15:39.