在perl中插入变量时跳过额外的行

时间:2014-04-28 16:38:12

标签: perl subroutine

我有这个PERL子程序

sub request
{
#INPUTS
....
....
my $users_info = @_[5] ;
my $req_exp = <<DOC;
#SN# Step $number
#DN# AUTHENT $type_authent + PFS SERVICE
#ED# $reponse
GET /$jonction/testussowt/printenv HTTP/1.1
Host : $HOST
$users_info
---
DOC
return $req_exp ;
}

如果我这样称呼它

my $test = &request(other_arguments..,'user1');
print $test ;

我得到正确的输出(我只显示最后两行重要)

user1
---

但如果我这样称呼它

my $var = &other_sub_that_returns_a_string;
my $test = &request(other_arguments..,$var);
print $test;

我在输出中得到了这个额外的空行

user1

---

1 个答案:

答案 0 :(得分:0)

如果没有完整的代码,很难确切地说出这里发生了什么。

最好的猜测是你的子程序最后会换行换行符,或者从其他地方拉出换行符。

解决这个问题:

my $var = &other_sub_that_returns_a_string;
chomp($var);
my $test = &request(other_arguments..,$var);
print $test;

如果你发布你的代码,我绝对可以看看并尝试帮助你弄清楚换行的来源。