Thread Leerzeichen im Pfad umgehen (12 answers)
Opened by PETER_PAN2009 at 2010-02-24 15:34

Kalle
 2010-02-25 09:46
#133659 #133659
User since
2007-03-18
48 Artikel
BenutzerIn
[default_avatar]
Hallo Peter,

Hier ein paar Beispiele (getestet von XP auf remote XP)

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
#!/bin/perl

use strict;
use warnings;

my $sharename='c$';

my $filename1='\\\\dual\c$\test dir\Neu Textdokument.txt';
my $filename2='\\\\dual\\c$\\test dir\\Neu Textdokument.txt';
my $filename3="\\\\dual\\c\$\\test dir\\Neu Textdokument.txt";
my $filename4="\\\\dual/c\$/test dir/Neu Textdokument.txt";
my $filename5="//dual/c\$/test dir/Neu Textdokument.txt";
my $filename6="//dual/$sharename/test dir/Neu Textdokument.txt";

my $testfile=$filename6;

# Test1
system($testfile);

# Test2
  if (open FH,'<',$testfile) {
    while(<FH>) {
      print;
    }
    close (FH);
  }
  else {
    print "$!\n";
  }



Bei den Singlequote tests hat mich gewundert, daß die hostname backslashes escaped werden müssen, während der Rest mit einfachen Backslahes zufrieden ist.
Am richtigsten empfinde ich filename3 und 6.

Und wenn du mit Unix und Windows zu tun hast, dann bleib am besten gleich bei den Slashes. Perl weiss schon damit umzugehen.

Gruß

Kalle

View full thread Leerzeichen im Pfad umgehen