問題。我正在嘗試從命令行讀取perl字符串,例如「abcdef」,然後將其分成「a_b_c_d_e_f」。拆分Perl字符串並在_DO之間添加_
我正在努力與邏輯部分。有任何想法嗎?
#!/usr/bin/perl
while($line=<STDIN>){
chomp $line;
split $line;
join ("_", $line);
print $line;
}
問題。我正在嘗試從命令行讀取perl字符串,例如「abcdef」,然後將其分成「a_b_c_d_e_f」。拆分Perl字符串並在_DO之間添加_
我正在努力與邏輯部分。有任何想法嗎?
#!/usr/bin/perl
while($line=<STDIN>){
chomp $line;
split $line;
join ("_", $line);
print $line;
}
The split
manpage實際上只包括這個例子:
print join(':', split('', 'abc')), "\n";
調整使用_
,而不是:
和$line
,而不是'abc'
,我們得到:
print join('_', split('', $line)), "\n";
最重要的一點是, split
不修改它的參數,它只是返回一個列表,並且join
不會修改它的參數,它只是返回一個字符串。因此,在沒有使用返回值的情況下調用split
或join
是毫無意義的。
除非你必須使用split
,您可以使用字符間替代這樣的:
use strict;
use warnings;
my $string = 'abcdef';
$string =~ s/(?<=.)(?:)(?=.)/_/g;
print $string;
輸出:
a_b_c_d_e_f
希望這可以幫助!
我不確定你的意思是「邏輯部分」*。該代碼中唯一的邏輯語句是'while'。 – Borodin