[Perl 에러] Bareword 'FH' not allowed while 'strict subs' in use at foo.pl line nnn.
Thursday, August 10, 2006
스폰서 링크펄을 사용하다 보면 이런 에러가 자주 납니다.
open FH, "<", $ARGV[0] or die "$!: '$ARGV[0]'\n";
이렇게 파일을 오픈한 후
foreach (<FH>) {
가 아닌
foreach (FH) {...
이렇게 적어주면 그런 에러가 나옵니다.
파일 핸들이, 현재 발가벗은(Bare) 상태이니, <FH> 이런 식으로 둘러싸 주어야 한다는 의미입니다.
그러나 open 으로 파일 핸들을 만들 때에는 둘러싸주면 안됩니다.
open <FH>, "<", $ARGV[0] or die "$!: '$ARGV[0]'\n";
그러면 이런 에러가 납니다.
☞ Perl
Bareword "FH" not allowed while "strict subs" in use at foo.pl line 17.
Execution of foo.pl aborted due to compilation errors.
Execution of foo.pl aborted due to compilation errors.
open FH, "<", $ARGV[0] or die "$!: '$ARGV[0]'\n";
이렇게 파일을 오픈한 후
foreach (<FH>) {
가 아닌
foreach (FH) {...
이렇게 적어주면 그런 에러가 나옵니다.
파일 핸들이, 현재 발가벗은(Bare) 상태이니, <FH> 이런 식으로 둘러싸 주어야 한다는 의미입니다.
그러나 open 으로 파일 핸들을 만들 때에는 둘러싸주면 안됩니다.
open <FH>, "<", $ARGV[0] or die "$!: '$ARGV[0]'\n";
그러면 이런 에러가 납니다.
Type of arg 1 to open must be HANDLE (not <HANDLE>) at foo.pl line 7, near "] or"
Execution of foo.pl aborted due to compilation errors.
Execution of foo.pl aborted due to compilation errors.
☞ Perl
Post a Comment
<< Home