use*_*414 3 perl substring substr
my $line2 = ("My cat Garfield");
my $leng2 = length $line2;
my $longmatch;
my $post = 0;
my $letter = 1;
for(my $post = 0; $post < $leng2; $post++) {
for($letter = 1; $letter <= $leng2; $letter++) {
$longmatch = (substr($line2,$post,$letter));
print $longmatch, "\n";
}
}
Run Code Online (Sandbox Code Playgroud)
如何消除重复的线?
使用C风格的循环 - for (my $i = 0; $i < 10; $i++)不是perl方式.简单地使用for my $i (0 .. 10).
在这个例子中,我$_在后脚本循环中使用隐式变量,并使用say而不是print来获得自动换行结束:
use v5.10; # used to enable feature say
my $cat = 'my cat is Garfield';
say substr($cat, 0, $_) for 1 .. length($cat);
Run Code Online (Sandbox Code Playgroud)