Thread if(-e $file) und Umlaute.. (22 answers)
Opened by GoodFella at 2007-01-16 17:12

GoodFella
 2007-01-17 10:11
#73277 #73277
User since
2007-01-09
192 Artikel
BenutzerIn
[default_avatar]
Hab auch mal ein TestScript geschrieben:
Code (perl): (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
use Tk;
use strict;

my $top = MainWindow->new();

my @types =( ['All files',         '*'],
             ['CSV files',      '.csv'],
             ['Excel files',    '.xls'] );
my $value = $top->getOpenFile( -filetypes => \@types, -initialdir => '.' );
my $check = $value;
utf8::downgrade($value);

if (-e $value)
 {
  print "value existiert\n";
 }
else
 {
  print "value existiert nicht\n";
 }

if (-e $check) 
 {
  print "check existiert\n";
 }
else
 {
  print "check existiert nicht\n";
 }

print ord($_).':' for(split(//,$value));
print "\n";
print ord($_).':' for(split(//,$check));
print "\n";

print "$value\n$check";


Liefert:
Quote
---------- Perl ----------
value existiert
check existiert nicht
67:58:47:88:105:116:97:109:105:47:99:103:105:45:98:105:110:47:109:97:105:108:115:109:111:114:101:47:80:111:115:116:69:110:104:97:110:99:101:47:104:228:108:246:108:252:223:101:114:95:116:101:115:116:46:120:108:115:
67:58:47:88:105:116:97:109:105:47:99:103:105:45:98:105:110:47:109:97:105:108:115:109:111:114:101:47:80:111:115:116:69:110:104:97:110:99:101:47:104:228:108:246:108:252:223:101:114:95:116:101:115:116:46:120:108:115:
C:/Xitami/cgi-bin/mailsmore/PostEnhance/hälölüßer_test.xls
C:/Xitami/cgi-bin/mailsmore/PostEnhance/hälölüßer_test.xls


Habe dann nachgeforscht, warum es das erste Mal nicht ging.. Mein Hauptscript schreibt $value in eine Listbox und holt den Wert von da wieder heraus; ist wohl unterwegs das encoding wieder verloren gegangen. Schreibe ich utf::downgrade direkt vor den Dateitest, gehts :)
Danke.

Fragt sich, woran ich den Unterschied in der Kodierung erkennen kann, an den chr() Codes jedenfalls nicht, denn die sind gleich.\n\n

<!--EDIT|GoodFella|1169021578-->

View full thread if(-e $file) und Umlaute..