Schrift
[thread]6815[/thread]

Output into verschiedene Files



<< >> 7 Einträge, 1 Seite
Gast Gast
 2005-03-24 16:58
#52942 #52942
Hallo !

Ganz normales Perl-Programm:

-------------
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sub abc {
hier wird etwas berechnet -egal was....
}

sub def {
hier wird etwas berechnet -egal was....
}

sub ghi {
hier wird etwas berechnet -egal was....
}

# Haupt-Teil des Programms

hier wird etwas gemacht ......
hier auch....

abc();

def ();

ghi();

----------------------------

Frage an Profis: wie mache ich dass der Output von abc() ins File 1.txt geschrieben wird, von def() ins 2.txt und von ghi() ins 3.txt ?

Danke schön im voraus ! :)

P.S. Mit open() habe ich probiert, geht nicht.\n\n

<!--EDIT|renee|1111676607-->
renee
 2005-03-24 17:05
#52943 #52943
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [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
27
28
29
30
31
32
33
34
35
36
37
38
39
sub abc {
my ($file) = @_;
hier wird etwas berechnet und in $result gespeichert...

open(FILE,">$file") or die $!;
print FILE $result;
close FILE;
}

sub def {

my ($file) = @_;
hier wird etwas berechnet und in $result gespeichert...

open(FILE,">$file") or die $!;
print FILE $result;
close FILE;
}

sub ghi {

my ($file) = @_;
hier wird etwas berechnet und in $result gespeichert...

open(FILE,">$file") or die $!;
print FILE $result;
close FILE;
}

# Haupt-Teil des Programms

hier wird etwas gemacht ......
hier auch....

abc($file1);

def ($file2);

ghi($file3);
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
dron
 2005-03-24 17:22
#52944 #52944
User since
2005-03-22
6 Artikel
BenutzerIn
[default_avatar]
Ehrlich gesagt, ich habe es nicht ganz verstanden. $file - ist eine variable und keine text-Datei die ich zur ausgabe als Ziel angeben kann und in allen sub-Programmen werden Hashes ausgegeben, es ist (für mich ;)) nicht möglich die einfach in $result zu speichern. Danke.
renee
 2005-03-24 17:41
#52945 #52945
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
in $file1 bzw. $file2 schreibst Du den Pfad zu den Dateien in die geschrieben werden soll... dann mach kein einfaches print in den Subs, sondern das print FILE... zeig mal mehr Code...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
dron
 2005-03-24 18:18
#52946 #52946
User since
2005-03-22
6 Artikel
BenutzerIn
[default_avatar]
Alles klar - es geht. Habe das gemacht:

----------

open (FILE1, "> abc.txt") or die "Can't open file '$file': $!\n";;

*STDOUT=*FILE1; # die Umleitung

abc(); # lasse die Sub-Routine laufen

close(FILE1); # schliessen und Bier trinken... :)

-----------

Jetzt funktioniert es. Danke Renee !
pq
 2005-03-25 12:14
#52947 #52947
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
da würd ich eher select FILE1; machen.
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
Strat
 2005-03-25 12:35
#52948 #52948
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
anstelle von
Code: (dl )
*STDOUT = *FILE

kannst du auch schoener schreiben:
Code: (dl )
select(FILE);

oder gleich:
Code: (dl )
open (STDOUT, "> abc.txt") or die "Can't open file '$file': $!\n";;
\n\n

<!--EDIT|Strat|1111746978-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 7 Einträge, 1 Seite



View all threads created 2005-03-24 16:58.