ファイルを読み込む短いperlスクリプトを記述します。 tmp.txt
を参照してください:Perl: "main :: IN"という名前は一度だけ使用されますが、実際には使用されます
1 gene_id "XLOC_000001"; gene_name "DDX11L1"; oId
1 gene_id "XLOC_000001"; gene_name "DDX11L1"; oId
1 gene_id "XLOC_000001"; gene_name "DDX11L1"; oId
1 gene_id "XLOC_000001"; gene_name "DDX11L1"; oId
私のPerlプログラム、convert.pl
は次のとおりです。
use warnings;
use strict;
use autodie; # die if io problem with file
my $line;
my ($xloc, $gene, $ens);
open (IN, "tmp.txt")
or die ("open 'tmp.txt' failed, $!\n");
while ($line = <IN>) {
($xloc, $gene) = ($line =~ /gene_id "([^"]+)".*gene_name "([^"]+)"/);
print("$xloc $gene\n");
}
close (IN)
or warn $! ? "ERROR 1" : "ERROR 2";
それは出力:
Name "main::IN" used only once: possible typo at ./convert.pl line 8.
XLOC_000001 DDX11L1
XLOC_000001 DDX11L1
XLOC_000001 DDX11L1
XLOC_000001 DDX11L1
私はIN
を使用し、私はName "main::IN" used...
警告を理解していません。なぜそれは不平を言うのですか?
字句変数と3つの引数を使用する: 'open my $ IN、 '<'、 'tmp.txt or die ...' – Toto
'またはdie ... 'は、' autodie'を使っているので余計です。 – Toto