我是PERL的初學者,負責解決上述問題。所以我得到這個錯誤 splice()偏移過去的數組的末尾,我用過嚴格後;如何在用戶指定的位置切換兩個底座
我花了幾個小時修改代碼,但無濟於事所以會有人請向我解釋爲什麼它不爲外行地(我是一個新手總)
謝謝合作!
#!usr/bin/perl
use strict;
use warnings;
#Ask for input from user
#Then switch two bases at positions specified by the user
print "Enter your DNA string:\n";
my @input_seq = split(//, <STDIN>);
chomp @input_seq;
print "First base: "; #position of first base
my $base_1_pos = <STDIN>;
chomp $base_1_pos;
my $base_1 = "$input_seq[$base_1_pos]";
print "Second base "; #position of second base
my $base_2_pos = <STDIN>;
chomp $base_2_pos;
my $base_2 = "$input_seq[$base_2_pos]";
@input_seq = splice(@input_seq, "$base_1_pos", 1, "$base_2"); #splice $base_2 into $base_1
@input_seq = splice(@input_seq, "$base_2_pos", 1, "$base_1"); #splice $base_1 into $base_2
print "@input_seq\n\n"; #print output
最良好的祝願, 衛
您能否提供示例輸入來演示該問題? – choroba 2014-09-26 16:38:47