Schrift
[thread]721[/thread]

Perl neue Textdatei

Leser: 1


<< >> 5 Einträge, 1 Seite
phimei
 2006-05-05 21:49
#7481 #7481
User since
2006-05-04
5 Artikel
BenutzerIn
[default_avatar]
Hi,

Ich möchte gerne eine variable in einer neunen Textdatei mit Perl ausgeben. z.B.:
Code: (dl )
1
2
3
#!/usr/bin/perl
%x = 9*4;
print %x

jetzt möchte ich gerne, dass er die Variable x in ein neues (von mir aus, auch in ein vorhin erstelltes *.txt-Dokument) schreibt.

Geht dass? Wenn ja, wie?
renee
 2006-05-05 21:57
#7482 #7482
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Erstmal ein paar allgemeine Anmerkungen:

Du verwendest hier einen Hash (%x), aber Du brauchst hier einen Skalar (also $x). Vielleicht ist Dir Strat's Einführung in Perl unter http://www.fabiani.net -- Vorträge -- Einführung in Perl ganz hilfreich, damit Du die verschiedenen Datentypen in Perl richtig kennenlernst.

Dann solltest Du unbedingt mit Wiki:strict arbeiten.

Nun zu Deiner Frage...

Bevor Du etwas in eine Datei schreiben kannst, musst Du sie zum schreiben öffnen (siehe perldoc -f open). Damit bekommst Du einen sogenannten Filehandle. "In" dieses Filehandle musst die Sachen ausgeben. Zum Schluss musst Du das Filehandle wieder schließen...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl

use strict;
use warnings;

my $x = 9*4;
my $name_der_Datei = '/pfad/zur/datei.txt';

# filehandle oeffnen
open(my $fh,">",$name_der_Datei) or die $!;
# in das filehandle schreiben
print $fh $x;
# filehandle schliessen
close $fh
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/
bloonix
 2006-05-05 22:01
#7483 #7483
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=phimei,05.05.2006, 19:49]
Code: (dl )
1
2
3
#!/usr/bin/perl
%x = 9*4;
print %x
[/quote]
perlintro

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl

# strict und warnings nicht vergessen
use strict;
use warnings;

# rechnen
my $x = 9 * 4;

# Datei öffnen
open DATEI,'>','./Erbgebnis.txt' or die $!;

# in die Datei schreiben
print DATEI $x;

# Datei schließen
close DATEI;


%x ist keine Variable, sondern ein Hash. Allgemein spricht man in Perl
nicht von Variablen, sondern eher von Skalaren.

Edit: sorry renee... dein Beitrag war noch nicht da als ich meinen schrieb\n\n

<!--EDIT|opi|1146852331-->
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.
pq
 2006-05-06 16:15
#7484 #7484
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=opi,05.05.2006, 20:01]%x ist keine Variable, sondern ein Hash. Allgemein spricht man in Perl
nicht von Variablen, sondern eher von Skalaren.[/quote]
skalare sind variablen, hashes sind variablen, arrays sind variablen.
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
bloonix
 2006-05-06 16:21
#7485 #7485
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
moin pq,

[quote=pq,06.05.2006, 14:15]skalare sind variablen, hashes sind variablen, arrays sind variablen.[/quote]

jo. aber ...

[quote=opi,05.05.2006, 20:01]Allgemein spricht man in Perl...[/quote]

von Hashes, Arrays, Skalaren. Perl hat doch seinen eigenen Kontext.
So hab ich zumindest gelernt :-)
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.
<< >> 5 Einträge, 1 Seite



View all threads created 2006-05-05 21:49.