小编MAN*_*AZA的帖子

为什么我的Perl脚本打印前面有行号的行不起作用?

我打算打开一个文本文件并读取行.并在其前面添加带有行号的字母"pp".

文本文件如下.

39828513 39829926 1413 hsa-mir-6719
41252946 41254434 1488 hsa-mir-6889
62331112 62332604 1492 hsa-mir-4758

我希望输出如下:

pp1 39828513 39829926 1413 hsa-mir-6719
pp2 41252946 41254434 1488 hsa-mir-6889
pp3 62331112 62332604 1492 hsa-mir-4758

我写了一段代码,但我感觉不到它的工作正常.

use strict;
use warnings;
open (fh, " < file.txt") || die ;
while ($line=<fh>)
{
 chomp ($line);
    for (my $i=1; $i <= ($#line); $i++)
    {
    print "pp$i\t$line";
    }
}
Run Code Online (Sandbox Code Playgroud)

perl file-io

2
推荐指数
2
解决办法
216
查看次数

从Perl中删除数组中的重复元素

我有一个数据集

10-101570715-101609901-hsa-mir-3158-1   10-101600739-101609661-ENSG00000166171  10-101588288-101609668-ENSG00000166171  10-101588325-101609447-ENSG00000166171  10-101594702-101609439-ENSG00000166171  10-101570560-101596651-ENSG00000166171  

10-103389007-103396515-hsa-mir-1307 10-103389041-103396023-ENSG00000173915  10-103389050-103396074-ENSG00000173915  10-103389050-103396441-ENSG00000173915  10-103389050-103396466-ENSG00000173915  10-103389050-103396466-ENSG00000173915
Run Code Online (Sandbox Code Playgroud)

除了每一行中的第一个元素,我有多个值,这是多余的,我想删除冗余值.我写了一段代码,但我感觉不到它的工作正常.

open (fh, "file1");
while ($line=<fh>)
{
chomp ($line);
@array=$line;
my @unique = ();
my %Seen   = ();
foreach my $elem ( @array )
    {
    next if $Seen{ $elem }++;
    push @unique, $elem;
    }
print @unique;
}
Run Code Online (Sandbox Code Playgroud)

arrays perl elements duplicates

-1
推荐指数
1
解决办法
733
查看次数

标签 统计

perl ×2

arrays ×1

duplicates ×1

elements ×1

file-io ×1