其实perl的变量定义是灵活的,你上面的其实是把“”嵌入‘’,以及qq{}混合了。
my $auto_home='home/dup';
my $data_dir = "$auto_home/data";
my $data_dir_1 = "${auto_home}/data";
my $data_dir_2 = qq{$auto_home/data};
my $data_dir_3 = qq!$auto_home/data!;
my $data_dir_4 = <<"DEF_DATA_DIR";
$auto_home/data
DEF_DATA_DIR
应该使用双引号,这样:
my $auto_home='home/dtp';
my $data_dir = "${auto_home}/data";