我从PSQL的SELECT查询得到了一定的结果,每个表都带有一个前导空格。
然后我通过管道连接元素如下:
client.set_access_token(options[:access_token],options[:access_secret])
我得到的结果为:
my @tables = @_;
my $table_list = join "|",@tables;
我希望输出为:
TABLE LIST IS: NEW_ENTRY| SAMPLE| NEW_ENTRY| SAMPLE
我尝试使用地图,但是不知道我错过了什么。
答案 0 :(得分:5)
你需要
my $table_list = join '|', map { s/^\s+//r } @tables
但正如 simbabque 在评论中所说,你应该调查这些空间的来源并解决潜在的问题。可能是数据库填充不正确,或者错误可能在您编写的代码中以便读取。
答案 1 :(得分:0)
( my $table_list = join( "|", @tables )) =~ s/\s+//g;
如果您将作业放在括号中,则可以在作业后应用替换。
答案 2 :(得分:-1)
我建议你再次运行splite,然后再加入内容。 chomp在这里不起作用,因为(我认为空间在前面)如果你想通过地图你可以去。
my $table=" NEW_ENTRY| SAMPLE| NEW_ENTRY| SAMPLE";
my @arr=split(' ',$table);
my $arr1=join('',@arr);
输出: NEW_ENTRY |标样| NEW_ENTRY |样品