Schrift
[thread]7077[/thread]

Auslesen aus Datei: Ne Noobie Frage :)

Leser: 1


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
Merlin
 2005-06-27 13:46
#55733 #55733
User since
2005-06-06
63 Artikel
BenutzerIn
[default_avatar]
Mahlzeit :)

also zu meine frage, weiß zwar net was ich falsch mache oder wiso das net funktioniert aber ich bin mir sicher es bald zu wissen :)

also Datei test.prop

Inhalt

Pfad1: ../testA
Pfad2: ../testB
Pfad3: ../testC

mit Code:

Code: (dl )
1
2
3
4
5
6
open(PROP, "test.prop");
my @zeile = <PROP>;

$Skalar = substr(@zeile[0],7_);
$Skalar2 = substr(@zeile[1],7_);
$Skalar3 = substr(@zeile[2],7_);


würd ich gern den Pfad ausschneiden und halt nur das ../testA
Ausgeben und im Programm verweden. Und 7_ bewirkt ja das er mir von der 7. stelle alles ausschneidet was sich noch in dieser zeile befindet oder?
Auf jedenfall will ich den Schnippsel dann in einen Pfad einfügen

z.B

Code: (dl )
my $Pfad = "$skalar/save*/lab*.tmp";


was ich für eine suche verwende

Ich bin mir net sicher ob ich da auf dem richtigen Weg bin das problem zu lösen :) aber da mir nix anderes eingefallen ist, hoffe mir kann wer helfen, danke
perldoc is your answer
renee
 2005-06-27 14:35
#55734 #55734
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Arrayelemente spricht man mit $array[$index] an und nicht mit @array[$index]

und das _ gibt's bei substr nicht. Das muss substr($array[1],7) heissen...

Du solltest Dir auch use strict angewoehnen. Einen offenen Filehandle sollte man auch wieder schliessen.

Wahrscheinlich ist es auch sinnvoller, nicht gleich alle Zeilen in ein Array zu packen, sondern mit einer While-Schleife zu arbeiten und im Schleifenkoerper schon substr() einzusetzen.\n\n

<!--EDIT|renee|1119868759-->
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/
Merlin
 2005-06-27 14:55
#55735 #55735
User since
2005-06-06
63 Artikel
BenutzerIn
[default_avatar]
Ui das mit dem $array[$index] hast du mir schon einmal gesagt :( sorry habs vergessen, aber auf jedenfall funktioniert es nun mit dem auslesen werd mal schauen ob ich zusammenkomme, danke für die schnelle antwort.

Wünsche noch einen schönen tag,

bye

PS: Das mit der Schleife is ne super Idee bin wäre garnicht draufgekommen :) danke\n\n

<!--EDIT|Merlin|1119869831-->
perldoc is your answer
Taulmarill
 2005-06-27 14:59
#55736 #55736
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ich würde das in etwa so machen (ungetestet):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use strict;
use warnings;

my @path;

open PROP, "test.prop" or die "Can't open test.prop: $!\n";
while ( my $zeile = <PROP> ) {
push @path, substr( $zeile, 7 );
}
close PROP;

for my $path ( @path ) {
print "$path/foo/bar/baz.txt\n";
}
\n\n

<!--EDIT|Taulmarill|1119869961-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Merlin
 2005-06-27 15:13
#55737 #55737
User since
2005-06-06
63 Artikel
BenutzerIn
[default_avatar]
Also kann zwar auslesen und in meiner Variable ist jetzt

$Skalar = ../TestA

und wenn cih dann die variable in einen Pfad einbaue.

$Skalar/testordner/testfile.txt

funktioniert das nicht, er findet die datei nicht
perldoc is your answer
renee
 2005-06-27 18:13
#55738 #55738
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Sicher dass der Pfad vom Skript aus gesehen auch richtig ist??
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/
Merlin
 2005-06-28 10:18
#55739 #55739
User since
2005-06-06
63 Artikel
BenutzerIn
[default_avatar]
Pfad ist richtig, sogar 100%ig

lese das so aus

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
Das ist nur ein Codeschnippsel, bitte nicht wegen Strict oder so
tadeln :) Danke

open(PROP, "findorder.prop");
@zeile = <PROP>;

$ASTRAa = substr($zeile[0],11);

$ASTRAb = substr($zeile[1],11);

$BHBa = substr($zeile[2],9);

$BHBb = substr($zeile[3],9);


dann geh ich nacheinander in 4 unterprogramme und will es dort ausführen es funktioniert aber nur bei dem letzten Unterprogramm.
perldoc is your answer
Strat
 2005-06-28 13:50
#55740 #55740
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
hilft es vielleicht, wenn du den pfad von relativ auf absolut umwandelst, z.B.
Code: (dl )
1
2
3
4
use FindBin;
my $file1 = "$FindBin::Bin/findorder.prop";
-f $file or die "Error: file '$file' gibbts nicht\n";
...

$FindBin::Bin enthaelt den Pfad zum verzeichnis, in dem das ausgefuehrte script liegt...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Merlin
 2005-06-28 14:04
#55741 #55741
User since
2005-06-06
63 Artikel
BenutzerIn
[default_avatar]
Das würde ja nur helfen wen ich die Datei nicht finde oder? Mein Problem ist das ich die Datei finde sogar auslesen kann aber dann die Variable nicht in einen Pfad einbauen ^^

Würd sie gern so einbauen:

$Pfad = "$BHBa/save*/*.hl7";

das komische ist ja nur das das mit BHBb funktioniert aber mit den andren 3 nicht, und das is zum verzweifeln :/
perldoc is your answer
renee
 2005-06-28 14:40
#55742 #55742
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
zeig mal mehr von Deinem 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/
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2005-06-27 13:46.