【发布时间】:2013-01-31 06:49:19
【问题描述】:
亲爱的 perl 大师们~!
我需要你的帮助。
我有一个字符串文件 A 和一个数字文件 B,如下所示:
文件A:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
...以此类推,直到 200。
文件 B:
3, 6, 2, 5, 6, 1, ... 2
(一个数组总共 200 个数字)
然后,使用文件B中的数字,我想将每个字符串从开始位置剪切到文件B中的字符数。
例如因为文件 B 以 3、6、2 开头 ...
文件 A 将是
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
像这样。
所以。到目前为止,这是我的代码...
use strict;
if (@ARGV != 2) {
print "Invalid usage\n";
print "Usahe: perl program.pl [num_list] [string_file]\n";
exit(0);
}
my $numbers=$ARGV[0];
my $strings=$ARGV[1];
my $i;
open(LIST,$number);
open(DATA,$strings);
my @list = <LIST>;
my $list_size = scalar @sp_list;
for ($i=0;$i<=$list_size;$i++) {
print $i,"\n";
#while (my $line = <DATA>) {
}
close(LIST);
close(DATA);
由于字符串和数字都是 200,我将数组更改为标量值,以处理每个字符串的每个数字。
我正在处理这个问题。我知道我想使用 pos 函数,但我不知道如何将每个数字与每个字符串匹配。是先读字符串吗?或者使用 for 知道我必须运行多少次才能达到结果?
您的帮助将不胜感激!
谢谢。
我也会努力的。需要您的反馈。
【问题讨论】: