펄 스크립트는 설정 파일에서 url을 읽습니다. 구성 파일 데이터에 URL = http://example.com으로 저장됩니다. 사이트 이름 만 얻으려면 어떻게해야합니까? 시도했습니다.펄 스크립트에서 쉘을 호출하는 방법
open(my $fh, "cut -d= -f2 'webreader.conf'");
하지만 작동하지 않습니다.
제발, 도와주세요!
펄 스크립트는 설정 파일에서 url을 읽습니다. 구성 파일 데이터에 URL = http://example.com으로 저장됩니다. 사이트 이름 만 얻으려면 어떻게해야합니까? 시도했습니다.펄 스크립트에서 쉘을 호출하는 방법
open(my $fh, "cut -d= -f2 'webreader.conf'");
하지만 작동하지 않습니다.
제발, 도와주세요!
당신은
open(my $fh, "<", "webreader.conf") or die $!;
while (<$fh>) {
chomp;
my @F = split /=/;
print @F > 1 ? "$F[1]\n" : "$_\n";
}
고마워요! 그것은 작동합니다! – ayunt
,
open(my $fh, "-|", "cut -d= -f2 'webreader.conf'") or die $!;
print <$fh>; # print output from command
더 나은 접근 방식은 펄 직접 파일을 읽을 것, 독서 파이프 무엇 다음 것은 포크 도착 명령임을 -|
로 표시하기 위해이 같은 아마 뭔가를 ?
$ cat urls.txt
URL=http://example.com
URL=http://example2.com
URL=http://exampleXXX.com
$ ./urls.pl
http://example.com
http://example2.com
http://exampleXXX.com
$ cat urls.pl
#!/usr/bin/perl
$file='urls.txt';
open(X, $file) or die("Could not open file.");
while (<X>) {
chomp;
s/URL=//g;
print "$_\n";
}
close (X);
파일 열기에 실패하면 죽을 때'$! '를보고하지 않습니다. 3 개의 인자를 열지 않으면 [perldoc open] (http://perldoc.perl.org/functions/open.html)을 참조하십시오. '엄격한 사용; ' –
@ Dr.Avalanche에서 언급 한 문제 외에도 어휘 파일 핸들을 사용해야합니다. – dgw
셸 명령을 파일 경로로 전달 중입니다 ... – m0skit0
개인적으로 'do not'라고 말하고 싶습니다. perl 내에서''컷 (cut) ''과 같은 것을 시도 할 많은 이유가 없습니다. – Sobrique