perl中的字符串连接

时间:2012-11-12 02:25:06

标签: perl concatenation

我正在尝试在perl中连接这个字符串:“/ hush_profile”;

当我在字符串中添加“/”时,我一直遇到问题。我试过逃避它,但这也不起作用。

这是我的问题代码:

#!/usr/bin/perl -w
use strict;
my($fileloc, $home_dir);

$home_dir = $ENV{"HOME"};
$fileloc = $home_dir;
$fileloc .= "/.hush_profile";

感谢你们给我的任何帮助!

1 个答案:

答案 0 :(得分:4)

这种代码的改编为我提供了预期的输出:

#!/usr/bin/perl -w
use strict;
my($fileloc);

my $home_dir = $ENV{"HOME"};
print "home_dir = $home_dir\n";
$fileloc = $home_dir;
print "fileloc 1 = $fileloc\n";
$fileloc .= "/.hush_profile";
print "fileloc 2 = $fileloc\n";

输出:

home_dir = /work4/jleffler
fileloc 1 = /work4/jleffler
fileloc 2 = /work4/jleffler/.hush_profile

即使我在环境中取消$HOME,我也会得到一些东西:

$ (unset HOME; perl x.pl)
Use of uninitialized value $home_dir in concatenation (.) or string at x.pl line 6.
home_dir = 
Use of uninitialized value $fileloc in concatenation (.) or string at x.pl line 8.
fileloc 1 = 
fileloc 2 = /.hush_profile
$

在RHEL 5(x86 / 64)上碰巧是Perl 5.12.1,但我在同一平台上使用Perl 5.8.8也是如此。