如何让 cwd的返回值是反斜杠\而不是斜杠/

如何让 cwd的返回值是反斜杠\而不是斜杠/

请问,如果想让 cwd的返回值是用的 \ 而不是 /怎么办?
比如:
#! c:\perl\bin
use Cwd;
$a= fastgetcwd;
print $a;
结果是:  c:/temp
但是我想得到 c:\temp  该怎么办?
小生初学乍到。还请指点迷津。
$str =~ tr/\//\\/;
不好意思。
您写的 $str =~ tr/\//\\/;是什么意思?
怎么用啊?
是这样么?
------------------
#! c:\perl\bin
use Cwd;
$a= fastgetcwd;
$str=~ tr/\//\\/;
print $str;
$str = $a;
谢谢!
这回明白了。
应该这样。
#! c:\perl\bin
use Cwd;
$a= fastgetcwd;
$str=$a;
$str =~ tr/\//\\/;
print $str;

我又去看了 tr 的翻译。
The "tr///" operator performs a substitution on the individual characters in a string.

Try running the following Perl program:

   #!/usr/bin/perl -w
   use strict;

   my $text = 'some cheese';
   $text =~ tr/ce/XY/;
   print "$text\n";

What happened to $text?

The result is:
somY XhYYsY

非常感谢您,hitsubunnu !
tr/\//\\/
等价于
s/\//\\/g

不过简洁些,而且5楼的例子表明tr的功能更为强大

学习了
受到启发,以前一个经典的问题应该由这个经典的办法来解决

如何把一个字符串里的a换成b,b换成a

$s="abababab";
$s=~tr/ab/ba/;

就可以,其他解法也有
$s=~s/(a|b)/$1 eq 'a' ?b:a/ge;
也行

但是不如tr来的简洁
其实也可以多个同时替换。比如:
$x =~ tr/0-9/QERTYUIOPX/; # Digits to letters.
$x =~ tr/A-Z/a-z/;        # Convert to lowercase.
并且,不一定需要使用 Slash / 作为 delimiter (分隔符)
比如:
  $x =~ tr!xianer!XIANER!;
   $x =~ trianer:XIANER:;

另外, tr还有一些选项。比如 s: 压缩多个重复字符为一个
举例:
------------
#!/usr/bin/perl -w
use strict;
my $text = 'good cheese';
$text =~ tr/oe/ue/s; #注意这里的 s
print "$text\n";
# Output is: gud chese

另一个是 d 选项。用来删除字符。
比如:
--------------
my $big = 'vowels are useful';
   $big =~ tr/aeiou/AEI/d;
   print "$big\n";
   # The first three vowels are made uppercase. The other two, which have no replacement character, are deleted because of the "d".
   #输出结果是: vwEls ArE sEfl

同时替换就是它的强大之处,比起s命令来说