Доброго времени суток. Столкнулся с такой проблемой, пытаюсь выкусить кусок из строки и вставить ее в переменую. Но перл вставляет лишний апостроф в переменую который не видный при ввыводе, но при операциях типа eq с аналогичным значением выдает false :(
вот вывод дебага:
monitoring::GetLogStringHash1(monitoring.pm:277):
277: if ( $temp_hash->{type} eq "bin" or $temp_hash->{type} eq "char" ) {
DB<1>
monitoring::GetLogStringHash1(monitoring.pm:278):
278: my ($offset,$len);
DB<1>
monitoring::GetLogStringHash1(monitoring.pm:279):
279: if ($temp_hash->{value} =~ /(\d+)-(\d+)/){
DB<1>
monitoring::GetLogStringHash1(monitoring.pm:280):
280: $offset = $1;
DB<1>
monitoring::GetLogStringHash1(monitoring.pm:281):
281: $len = $2-$offset;
DB<1>
monitoring::GetLogStringHash1(monitoring.pm:283):
283: $result{$hashes} = substr($string,$offset,$len);
DB<1>
monitoring::GetLogStringHash1(monitoring.pm:291):
291: $deb = mon_debug::PrintPerfTime("GetLogStringHash",'end',$deb);
DB<1> y temp_hash
%result = (
'error_type' => 'I'
'name' => 'JafCache '
)
DB<2> y string
$string = 'JafCache :0705 232956.951:I:<CACHE> :SETTER: Cache mbean max cached entries [5]'
'JafCache
аналогичные переменые выкусывает нормально, екранируя их '':
DB<1> y result string
$string = 'JafCache :0705 232956.951:I:<CACHE> :SETTER: Cache mbean max cached entries [5]'
%result = (
'error_type' => 'I'
)
перепробывал уже все и пытался удалять все ' в переменой и выкусывать не с нолевого а с первого символа. Как с этим бороться?
Заранее спасибо.