perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 19
Click for quality!




12.02.2012 / 03:47

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragmy $fh $_
Seitenanfang

Hi Members,

Ja, ich bin natürlich ein Anfänger.. :-)

Ich möchte eine Datei durcharbeiten und die einzelnen fragmente in den Variablen abspeichern.

open (my $fh, "$_") or die $!;

foreach $line ($filename){
($datum, $zeit) = split(';',$line);
}

Das habe ich aus einem Codeschnippsel.. die Variable $line ist nicht definiert, muss das so sein?

Datum: 01.08.2005-08:41

Beitragre: my $fh $_
Seitenanfang
Du solltest Dir unbedingt [url=http://wiki.perl-community.de/bin/view/Wissensbasis/UseStrict]use strict[/url] anschauen.

Du willst wohl eher sowas machen:

open (my $fh, "$_") or die $!;

while my $line(<$fh>){
my ($datum, $zeit) = split(';',$line);
# mach was mit $datum und $zeit
}

close $fh;

Datum: 01.08.2005-09:41

Beitragre: my $fh $_
Seitenanfang
Hallo Renee

Wenn ich Dein Script einfüge kommt mir die nachfolgende Fehlermeldung... Ich weiss leider noch nicht wie die Variable $fh zustandekommt.. Und $line - ist das einfach Zeilenweise abarbeiten?

Zuerst das Script und dann die Fehlermeldung.

#!/usr/bin/perl -w

use strict;

my $Verzeichnis = "/u/test";
opendir(my $dh, $Verzeichnis) || die "$Verzeichnis: $!";

open (my $fh, "$_") or die $!;

while my $line(<$fh>){
my ($datum, $zeit) = split(';',$line);
print $datum;
print $zeit;
# mach was mit $datum und $zeit
}

close $fh;

while(my $filename = readdir($dh)) {
if($filename =~ /.+\.txt*/) {
my $fullpath = "$Verzeichnis/$filename";
open(my $fh, $fullpath) or die $!;
# mach was
close $fh;
}
}
closedir($dh);

Meldung:
"my" variable $datum masks earlier declaration in same scope at aktuell.pl line 12.
"my" variable $zeit masks earlier declaration in same scope at aktuell.pl line 13.
syntax error at aktuell.pl line 10, near "while my "
Global symbol "$line" requires explicit package name at aktuell.pl line 10.
syntax error at aktuell.pl line 15, near "}"
Execution of aktuell.pl aborted due to compilation errors.

Danke zum voraus.

Gruss

Datum: 02.08.2005-22:05

Beitragre: my $fh $_
Seitenanfang
Sorry, mein Fehler im Eifer des Gefechts...

while my $line(<$fh>){

muss natürlich

while(my $line = <$fh>){

heißen...

Datum: 03.08.2005-08:28

-






-
-