perl에서 파일핸들 참조해서 특정값 추출시
파일핸들로 참조한 파일에 특정열을 찾아서 특정열에서 일정값을 뽑은 후에 또 다른 파일에서 다른 값을 뽑을려고 참조하려는데 잘 안됩니다.
my $file = '/home/mrtg/www/bd/192.168.10.1_1001.html';
open( F, $file ) || die "Oops! $!";
seek( F, -4592, 2 );
my $line = <F>;
my $value = substr( $line, 2, 5 );
my $num = '1:1';
if ( $value > 50 )
{
&do_page ("bd_$num traffic $value ");
}
close F;
my $file3 = '/home/mrtg/www/bd/192.168.10.1_1003.html';
open( F, $file3 ) || die "Oops! $!";
seek( F, -4592, 2 );
my $line3 = <F>;
my $value3 = substr( $line3, 2, 5 );
my $num3 = '1:1';
if ( $value3 > 50 )
{
&do_page ("bd_$num traffic $value ");
}
close F;
이렇게 작성하고 난 후에 다음 페이지를 참조하여 위와 같은 값을 얻어내려고 다시 위와 같이 반복(파일명과 변수명을 변경)하였으나 첫번째 값만을 가져오고 두번째 값을 가져오지 못합니다. 무엇이 문제인지 고수님들 봐주시면 감사하겠습니다.
음..가져오지 못한다는 것이 구체적으로 어떻게요?파일 오픈이 실패는
음..가져오지 못한다는 것이 구체적으로 어떻게요?
파일 오픈이 실패는 아닐것 같은데..함수가 실행이 안되나요...아니면 올바르지 않은 값이 나오나요??
음.. 그리고 혹시 두 번째 패러그래프에서
<code>
my $line3 = <F>;
my $value3 = substr( $line3, 2, 5 );
my $num3 = '1:1';
if ( $value > 50 )
{
&do_page ("bd_$num traffic $value ");
}
</code>
여기서 do_page 함수 에서는 $value3 을 출력하는게 맞는것 아닌가요??
A few Good Man
my $file3 = '/home/mrtg/www/bd/192.168.1
my $file3 = '/home/mrtg/www/bd/192.168.10.1_1003.html';
open( F, $file ) || die "Oops! $!";
seek( F, -4592, 2 );
my $line3 = <F>;
my $value3 = substr( $line3, 2, 5 );
my $num3 = '1:3';
if ( $value3 > 50 )
{
&do_page ("bd_$num traffic $value ");
}
close F;
두번째에서 value3을 출력하리라 생각했는데 첫번째 $value의 값을 가져오네여...결과출력을 하게되면
bd_1:1 traffic 60%
bd_1:3 traffic 60%
이렇게 $value 값만 출력됩니다. 1:3에서는 그페이지에 해당하는 값($value3)을 가져와야 하는데 $value 값을 그대로 가져와버리네요...무엇이 문제인지...
Re: perl에서 파일핸들 참조해서 특정값 추출시
$file3으로 하셔야할것 같네요.
use strick; <-- 이거 하시고
perl -cw 파일명
생활하세요..^^
아 그건 위에껄 복사해서 붙여놓고 질문하다 보니 제가 수정을 하나 못했네
아 그건 위에껄 복사해서 붙여놓고 질문하다 보니 제가 수정을 하나 못했네요..그건 당연히 $file3으로 되어 있고 use strick;도 당연히 되있습니다.
소스만 적어놓다 보니 기본적인 사항은 빼놓고 질문한거구요..
그러면 원문을 정확히 현재 상태에 맞게 좀
그러면 원문을 정확히 현재 상태에 맞게 좀 고쳐주시고, code 태그로 둘러싸주시면 좋겠네요. 볼때마다 변수명이 잘못된 것만 눈에 들어와서...
두번째 코드 문단에 do_page 인자 쪽에도 $value 가 아니라 $value3 으로 되어 있는 건 맞나요?
좋은 하루 되세요!
strick????
strick????
댓글 달기