我有这个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
---
答案 0 :(得分:0)
如果没有完整的代码,很难确切地说出这里发生了什么。
最好的猜测是你的子程序最后会换行换行符,或者从其他地方拉出换行符。
解决这个问题:
my $var = &other_sub_that_returns_a_string;
chomp($var);
my $test = &request(other_arguments..,$var);
print $test;
如果你发布你的代码,我绝对可以看看并尝试帮助你弄清楚换行的来源。