이것은 제가 의문입니다. 이 코드는 다른 서버에서 작동했지만 오늘 CPAN에서 Date::Manip이로드 된 Perl v5.8.8에서는 실패했습니다. 실패한 것 코드Perl : 초기화되지 않은 값을 숫자 lt (<) /Date/Manip.pm에 사용하십시오.
Warning:
Use of uninitialized value in numeric lt (<) at /home/downside/lib/Date/Manip.pm line 3327.
at dailyupdate.pl line 13
main::__ANON__('Use of uninitialized value in numeric lt (<) at
/home/downsid...') called at
/home/downside/lib/Date/Manip.pm line 3327
Date::Manip::Date_SecsSince1970GMT(09, 16, 2008, 00, 21, 22) called at
/home/downside/lib/Date/Manip.pm line 1905
Date::Manip::UnixDate('today', '%Y-%m-%d') called at
TICKER/SYMBOLS/updatesymbols.pm line 122
TICKER::SYMBOLS::updatesymbols::getdate() called at
TICKER/SYMBOLS/updatesymbols.pm line 439
TICKER::SYMBOLS::updatesymbols::updatesymbol('DBI::db=HASH(0x87fcc34)',
'TICKER::SYMBOLS::symbol=HASH(0x8a43540)') called at
TICKER/SYMBOLS/updatesymbols.pm line 565
TICKER::SYMBOLS::updatesymbols::updatesymbols('DBI::db=HASH(0x87fcc34)', 1, 0, -1) called at
dailyupdate.pl line 149
EDGAR::updatesymbols('DBI::db=HASH(0x87fcc34)', 1, 0, -1) called at
dailyupdate.pl line 180
EDGAR::dailyupdate() called at dailyupdate.pl line 193
는 단순히 : 맞아
sub getdate()
{ my $err; ## today
&Date::Manip::Date_Init('TZ=EST5EDT');
my $today = Date::Manip::UnixDate('today','%Y-%m-%d'); ## today's date
####print "Today is ",$today,"\n"; ## ***TEMP***
return($today);
}
; Date::Manip이 "today"
에 대해 실패했습니다. 실패 Date::Manip에
라인은 :
my($tz)=$Cnf{"ConvTZ"};
$tz=$Cnf{"TZ"} if (! $tz);
$tz=$Zone{"n2o"}{lc($tz)} if ($tz !~ /^[+-]\d{4}$/);
my($tzs)=1;
$tzs=-1 if ($tz<0); ### ERROR OCCURS HERE
Date::Manip 그래서이 요소는
$Cnf
"ConvTZ"
또는
"TZ"
로 초기화되었다고 가정한다. 그것들은
Date_Init
에서 초기화되었으므로이를 처리해야합니다.
내 큰 프로그램에서만 실패합니다. 방금 위에 "getdate()
"을 추출하고 독립 실행 형이라도 오류가 없습니다. 따라서이 문제에 영향을 미치는 지구 환경은 입니다.
이것은 알려져 있지만 문제가 아닌 것 같습니다. Google 검색시 "초기화되지 않은 값 날짜 조작 사용"약 2400 개의 히트 수입니다. 이 오류는 MythTV 및 grepmail과 함께보고되었습니다.
코드를 읽기가 어렵습니다. 각 줄이 탭 또는 최소 3 칸으로 시작되도록 코드를 붙여 넣으면 형식이 잘 지정됩니다. –
4 칸이 필요하다고 생각합니다. ("5 명이 맞습니다.") –