Schrift
[thread]727[/thread]

Problem mit dem Einlesen

Leser: 2


<< |< 1 2 3 4 ... 6 >| >> 56 Einträge, 6 Seiten
Gast Gast
 2006-05-17 13:33
#7599 #7599
Hallo,

In diesem Teil hier muss irgendwo der fehler stecken.
Er setzt irgendwie nich die DICTFILE Variable.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
&loadDictionary( "words.txt" );


sub loadDictionary {

 my( $DICTFILE ) = $_[0];
 my( @lines );

 # Read in the dictionary into memory
 print "Reading file '$DICTFILE'...";
 open( DICTFILE, "$DICTFILE" ) || die( "Couldn't open file" );;
 my( @filelines ) = <DICTFILE>;
 close( DICTFILE );
 foreach $line (@filelines) {
   push( @lines, $line ) if( $line =~ m/\w/ );
 }
 @filelines = ();


[quote]Couldn't open file at C:/Programme/xampp/htdocs/drow/convertDictionary.pl line 22.
Quote


Könnte da jemand helfen ?
Taulmarill
 2006-05-17 13:44
#7600 #7600
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
die variable sollte eigendlich mit dem string "words.txt" gefüllt werden. ich könnte mir aber vorstellen, dass das script die datei nicht findet. versuch mal den vollen pfad anzugeben.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
XeroX
 2006-05-17 14:06
#7601 #7601
User since
2006-05-17
27 Artikel
BenutzerIn
[default_avatar]
Irgenwie gehts trotzdem nicht.
Hab alle Pfad möglichkeiten durch probiert...

Hier mal das ganze Script. Es ist nicht von mir !! Hier her stammt es http://www.grey-company.org/Maerdyn/resources/translator/

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
use Mysql;

local $DB_TABLE = "drow_dictionary";
local $LANG0 = "Drow";
local $LANG1 = "Common";
local $NOTES = "Notes";
local $dbh;

require "drow_pwx.pl"; # Contains database credentials


&loadDictionary( "words.txt" );


sub loadDictionary {

my( $DICTFILE ) = $_[0];
my( @lines );

# Read in the dictionary into memory
print "Reading file '$DICTFILE'...";
open( DICTFILE, "$DICTFILE" ) || die( "Couldn't open file" );;
my( @filelines ) = <DICTFILE>;
close( DICTFILE );
foreach $line (@filelines) {
push( @lines, $line ) if( $line =~ m/\w/ );
}
@filelines = ();

print (0+@lines)." lines read.\n";

print "Sorting...";
@lines = sort( @lines );
print "Done.\n";


# Setup Database Connection
$dbh = Mysql->connect( undef, $database, $database, $password ) ||
die( "Could not establish database connection: ".$Mysql::db_errstr );
$dbh->query( "delete from $DB_TABLE" );

# Cycle through lines, adding them into database
my( $query ) ="insert into $DB_TABLE ($LANG0, $LANG1, $NOTES) values ";
foreach $line (@lines ) {
my( $notes ) = "";
# Simple word0=word1 line
$line =~ s/\`/\'/g; # Change back-quotes to normal quotes
$line =~ s/\_/\ /g; # Change underscores to spaces
$line =~ s/\+/\ /g; # Change plusses to spaces
if( $line =~ m/^([\w\-\'\s\,\+]*)\=(.*)/ ) {
$word1 = $1;
$word2 = $2;

# Get rid of email address of contributed words
if( $word2 =~ m/\=/ ) {
$word2 = $`;
}

# Extract notes if any
if( $word2 =~ m/\((.*)\)/) {
$notes = $1;
$notes =~ s/\'/\\\'/g;
$word2 = $`;
}

# Make SQL safe, replace '+'s with spaces
$word1 =~ s/\'/\\\'/g;
$word2 =~ s/\'/\\\'/g;

# Split if it has commas
my( @words1, @words2 );
if( $word1 =~ m/\,/ ) {
@words1 = split( ',', $word1 );
} else {
@words1 = ($word1);
}
if( $word2 =~ m/\,/ ) {
@words2 = split( ',', $word2 );
} else {
@words2 = ($word2);
}

# Do all combinations if has commas
foreach $word1 (@words1) {
foreach $word2 (@words2) {
$word1 = &trim( $word1 );
$word2 = &trim( $word2 );
if( $notes eq "" ) {
&runQuery( $query."('$word1','$word2', null)" );
} else {
&runQuery( $query."('$word1','$word2', '$notes')" );
}

}
}
} else {
warn( "Can't parse line ==$line==\n" );
}
}

}



sub runQuery {
my( $query ) = $_[0];

#print "$query\n\n";
print '.';

$dbh->query( $query );
if( $dbh->errmsg ne "" ) {
warn( "Database Error: ".$dbh->errmsg."<BR>$_[0]" );
#$dbh->errmsg = "";
}

}


# Trims whitespace off start and end of string
sub trim
{
my( @asz, $sz );
@asz = @_;
foreach $sz (@asz)
{
$sz =~ s/^\s*(.*)$/$1/;
($sz = $`) if ($sz =~ m/\s*$/);
}
return wantarray() ? @asz : $asz[0];
}
\n\n

<!--EDIT|XeroX|1147860517-->
docsnyder
 2006-05-17 17:09
#7602 #7602
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
Prüfe zunächst mit "-f", ob die Datei gefunden wird, dann vergewissere Dich, daß Du auch Lese-Recht auf der Datei hast.

Gruß, Doc
renee
 2006-05-17 17:13
#7603 #7603
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie rufst Du das Programm auf (von welchem Verzeichnis und in welchem Verzeichnis ist die Datei)? Welche Arten von Pfadangaben hast Du schon ausprobiert?
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/
XeroX
 2006-05-17 17:16
#7604 #7604
User since
2006-05-17
27 Artikel
BenutzerIn
[default_avatar]
Ich ruf die Datei per IE auf also im "Web" hab halt XAMPP installiert mit Perl/CGI Erweiterung.

Wo muss das -f hin ?
renee
 2006-05-17 17:24
#7605 #7605
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
if(-f $DICTFILE and -r $DICTFILE){
open( DICTFILE, "$DICTFILE" ) || die( "Couldn't open file" );
my( @filelines ) = <DICTFILE>;
close( DICTFILE );
foreach $line (@filelines) {
push( @lines, $line ) if( $line =~ m/\w/ );
}
@filelines = ();
}
else{
print "kann $DICTFILE nicht lesen/finden";
}
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/
XeroX
 2006-05-17 17:39
#7606 #7606
User since
2006-05-17
27 Artikel
BenutzerIn
[default_avatar]
Hallo, Vielen dank ich bin nun etwas weiter, allerdings scheint hier mit der MySql Datei für Perl was nicht zu stimmen ?!

Can't call method "prepare" on an undefined value at C:/Programme/xampp/perl/site/lib//Mysql.pm line 169.
renee
 2006-05-17 17:52
#7607 #7607
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Die Datei kennen wir nicht... Du musst schon etwas mehr Infos rausrücken...
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/
XeroX
 2006-05-17 17:58
#7608 #7608
User since
2006-05-17
27 Artikel
BenutzerIn
[default_avatar]
Hmm..ich weiß nicht was ich darüber erzählen soll, die Datei war standard mässig beim Perl dabei...die wird wohl für die Kommunikation zwischen Perl und SQL zuständig sein !

Wenn es euch hilft kann ich sie gerne mal anhängen ?!
<< |< 1 2 3 4 ... 6 >| >> 56 Einträge, 6 Seiten



View all threads created 2006-05-17 13:33.