加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl的子程序sub返回值不改变的解决方法

发布时间:2020-12-16 00:21:17 所属栏目:大数据 来源:网络整理
导读:用子程序去掉从文件读取的每行的首尾空格,sub函数print的值已经没有空格了,但是返回值打印出来还是有空格。代码如下: while(FH) { trim($_); print "$_n"; } sub trim ? ? ? ? my $str=shift; ? ? ? ? $str=~s/^s*//g; ? ? ? ? $str=~s/s*$//g; ? ? ?

用子程序去掉从文件读取的每行的首尾空格,sub函数print的值已经没有空格了,但是返回值打印出来还是有空格。代码如下:

while(<FH>)

{

&trim($_);

print "$_n";

}

sub trim

? ? ? ? my $str=shift;

? ? ? ? $str=~s/^s*//g;

? ? ? ? $str=~s/s*$//g;

? ? ? ? print "$strn";

? ? ? ? return $str;

乍一看,程序没有一点问题。可是输出结果总不能去掉空格。

解决方法:$_=&trim($_);

搞定了!原因是: trim($_)??return 了却没有人接收。

在perl中子程序的返回结果总需要有人来接收的!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读