- 论坛徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2015-11-19 23:11 编辑
代码如下: (我的当前环境是 Windows)
- #!/usr/bin/perl
- use strict;
- use warnings;
- sub replace{
- my ($sStr, $sCnt) = (@_);
- my ($sFormat) = ("by %s\n\$sStr = |%s|\n");
- unless (defined $sCnt){
- $sStr =~ s{^\s*$}{<br />}gm;
- printf $sFormat, "/g :", $sStr;
- }else{
- while ($sStr =~ s{^\s*$}{<br />}m) {}
- printf $sFormat, "while :", $sStr;
- }
- }
- my ($sStr1, $sCnt) = (
- "a\n \n \n \nb\n\n \n\nc", 0);
- replace ($sStr1);
- #replace ($sStr1, $sCnt);
复制代码 输出结果如下:
- by /g :
- $sStr = |a
- <br />
- b
- <br /><br />
- c|
复制代码 我期望的结果如下:
- by while :
- $sStr = |a
- <br />
- b
- <br />
- c|
复制代码 我的疑问:
1.> 问题出在哪里?
|
|