나는 코딩 규칙을 펄 조금 noobish는, 누군가가 설명 할 수 있어요 :이 펄 변수는 무엇을 의미합니까?
- 왜 펄 변수 앞에
/
및/<
이 있습니까? \=
과=~
의 의미는 무엇입니까?- 코드에서
;
앞에 끝 문자/
이 필요한 이유는 무엇입니까?/start=\'([0-9]+)\'/
?
1 회 3 하위 질문 일종의 정말의 perldocs에 의해 해결되었다,하지만 다음 행을 수행 코드에 의미?
push(@{$Start{$start}},$features);
나는 우리가 @start 배열에 $ 기능을 밀고 있지만 @$Start{$start}
무슨 뜻 이해? 코드 내에서 @Start = ($start);
이런 식으로 뭔가가있다 : 그것과 동일
use FileHandle;
sub open_infile {
my $file = shift;
my $in = FileHandle->new($file,"<:encoding(UTF-8)")
or die "ERROR: cannot open $file: $!\n" if ($Opt_utf8);
$in = new FileHandle("$file")
or die "ERROR: cannot open $file: $!\n" if (!$Opt_utf8);
return $in;
}
$uamf = shift @ARGV;
$uamin = open_infile($uamf);
while (<$uamin>) {
chomp;
if(/<segment /){
/start=\'([0-9]+)\'/;
/end=\'([0-9]+)\'/;
/features=\'([^\']+)\'/;
$features =~ s/annotation;//;
push(@{$Start{$start}},$features);
push(@{$End{$end}},$features);
}
}
이
편집 그래서 펄 문서의 일부 정독 한 후, 여기 일도 내가 '입니다 ve gotten
/<segment /
은 che che 읽기 라인 이while (<$uamin>)
에 있는지 여부를 확인하려면 다음 문자열이 포함되어 있는지 확인하십시오 :<segment
.- 이 유사
/start=\'([0-9]+)\'/
이 어떤 변수를 인스턴스와는 아무 상관이없는, 그것은while (<$uamin>)
에서 의 readline이\'([0-9]+)\'
는 숫자 문자열을 의미start=\'([0-9]+)\'
이 들어 있는지 여부를 확인하는 정규식 체크합니다. - 대체가 정규식 일치를 테스트 중이므로
=~
이 사용됩니다. 참조 What does =~ do in Perl?
아직 코드를 수정했습니다. 입력 라인 $ _에 "세그먼트"대신 "<세그먼트"문자가 포함되어 있는지 첫 번째 라인에서 확인합니까? – alvas
@ 2er0 : Typo, 미안 해요. –