Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Februar

SELFHTML Forumsarchiv
while( filehandle ) { ausgeben } und in skalar einlesen

Informationsseite
  1. Seite (PERL) while( filehandle ) { ausgeben } und in skalar einlesen von Ark, 16. 02. 2005, 06:33
nach unten

while( filehandle ) { ausgeben } und in skalar einlesen

Die folgende Nachricht zum Thema stammt von: Ark, 16. 02. 2005, 06:33

hiho

Keine Ahnung ob in diesem HTML Forum wer perl kann aber versuchen wirs mal!

Textdateien lesen und ausgeben tat ich immer so:

open(DATEI, "<text.txt") || die "nix da";
flock(DATEI, 2);
my @inhalt = <DATEI>;
flock(DATEI, 8);
close(DATEI);

for(@inhalt) { print $_; }

Nun muss also zuerst @inhalt gefüllt werden,
und dann nochmals @inhalt durchgegangen werden um es auszugeben.

1. Frage
Gesucht wird nach der Lösung mit welcher man
während der geöffneten textdatei solange sie sogar noch
unter  'flock' steht  ausgegeben werden kann.
Das war irgendwas mit  while(FILEHANDLE)  aber ich bekomms nicht mehr hin.

2. Frage:
Wie kann man eine Textdatei welche mehrere Zeilen enthält
in einen scalar einlesen?
my @inhalt = <DATEI>;   tut es in einen @array einlesen.
Der Versuch  my $my_scalar = <DATEI>;   gab nur die erste Zeile zurück.


Dangge :P
Ark (bzw. HexA für die Leute vom irc)

nach obennach unten

while( filehandle ) { ausgeben } und in skalar einlesen

Die folgende Nachricht zum Thema stammt von: Cheatah, 16. 02. 2005, 07:50

Hi,

»» Das war irgendwas mit  while(FILEHANDLE)  aber ich bekomms nicht mehr hin.

komisch, in Deinem Posting hast Du bereits zwei Ansätze genannt.

»» Wie kann man eine Textdatei welche mehrere Zeilen enthält
»» in einen scalar einlesen?

Durch Setzen von $/ auf einen hinreichend günstigen Wert. Siehe perldoc perlvar.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes

nach obennach unten

while( filehandle ) { ausgeben } und in skalar einlesen

Die folgende Nachricht zum Thema stammt von: Christian Kruse, 16. 02. 2005, 10:12

你好 Ark,

»» 1. Frage
»» Gesucht wird nach der Lösung mit welcher man
»» während der geöffneten textdatei solange sie sogar noch
»» unter  'flock' steht  ausgegeben werden kann.
»» Das war irgendwas mit  while(FILEHANDLE)  aber ich bekomms nicht mehr hin.

Du meinst vermutlich


print while <HANDLE>;


»» 2. Frage:
»» Wie kann man eine Textdatei welche mehrere Zeilen enthält
»» in einen scalar einlesen?
»» my @inhalt = <DATEI>;   tut es in einen @array einlesen.
»» Der Versuch  my $my_scalar = <DATEI>;   gab nur die erste Zeile zurück.

Du musst den “Record Seperator” umsetzen:


my $scalar = '';
{
  local $/;
  $scalar = <HANDLE>;
}

print $scalar;


再见,
 CK

--
lim(3->4)(sqrt(3)) = 2
http://wwwtech.de/

nach obennach unten

while( filehandle ) { ausgeben } und in skalar einlesen

Die folgende Nachricht zum Thema stammt von: Struppi, 16. 02. 2005, 13:17

Ergänzend noch:

»» flock(DATEI, 8);
»» close(DATEI);
»»

Das sollte man ncht tun. Denn close gibt die Datei explizit frei und unter ganz schlechten Umständen greift ein paraleller Prozeß genau zwichen flock und close zu und dann war das ganze gelocke für die Katz.



Struppi.
--
http://javascript.jstruebig.de/

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Februar

© 1998-2008 Seite Impressum, Software: Classic Forum