Как я могу записать файл в кодировке UTF-8 в компьютер пользователя, использующий JavaScript в IE?

Я получаю странное предупреждение против некоторого кода Perl, и я надеюсь, что SO-brain может помочь.

Речь идет о коде:

sub add_observation {
    my $self = shift;
    my $observation = shift;

    my $result = $observation->get_datum_result($self->{datum_name});
    if(!(defined $result)) {
        croak("Datum '$self->{datum_name}' not defined for this observation: ". Dumper($observation));
    }
    $self->{result} |= $result;
    my $observation_time = $observation->get_time();

    if($self->{result} == 0){
        $self->set_start_time($observation_time);
    }
    if($result != 0) {
        $self->set_end_time($observation_time);
        $self->{end_threshold} = $observation_time->epoch() + $self->{timeout};
    }
    elsif($observation_time->epoch() > $self->{end_threshold}) {
        $self->{complete} = 1;
    }

    return $self->{result}; 
}

Когда я запускаю свой код, я получите следующее предупреждение:

Use of uninitialized value in numeric gt (>) at Performance/BadSpan.pm line 67 (#1)

Строка 67 соответствует строке if ($ result! = 0) {.

У меня двоякая проблема:

  1. Почему Perl утверждает, что $ result не определен, когда ему предшествует некоторый защитный код, который гарантирует, что он определен
  2. Почему Perl жалуется на числовой gt, когда числового gt нет. Рубрика, связанная с этим предупреждением, действительно указывает на то, что Perl может оптимизировать ваш код, и предупреждение относится к оптимизированным операторам, но означает ли это, что ! = «оптимизировано» для > и <?
5
задан Sinan Ünür 15 December 2010 в 23:10
поделиться