2014-03-06 2 views
1

Просто вопрос, который я хочу задать. Я новичок в Perl-скрипте, извините, если вы чувствуете, что этот вопрос глуп.Perl - это «uc» включить использовать при возврате к переменной?

Вопрос: могу ли я вернуть переменную и применить «uc» при возврате.

Вот код:

my $desc = ""; 

@names = ("thor-12345-4567"); 
$size = @names; 

Thor(); 
print $desc; 
sub Thor() { 
    if ($size ne "0") { 
     return uc ($desc=$names[0]); 
    } 
    $desc = "NA"; 
    return $desc; 
} 

Я просто хочу знать, что это «УНЦ» можно использовать, когда мы возвращаемся к переменной?

Когда я пытаюсь напечатать $ desc, он не вернется в верхний регистр.

спасибо!

+1

Быстрый ответ: да. Но почему бы просто не проверить и не увидеть? Вы действительно должны изолировать свои подписчики, чтобы не полагаться на глобальные переменные или не присваивать их. Вместо этого передайте параметры 'sub Thor {my @names = @_; 'И возвращать значения. '$ desc = Thor (@names)' – Miller

+0

Вы спрашиваете, можете ли вы применить 'uc' к заявлению? – TLP

+0

@Miller О, извините, я не опубликовал ответ, который я получу. Я его отредактирую. Я уже тестировал его. Он не вернулся в Верхний регистр. –

ответ

6

Избегайте назначения или использования глобальных переменных в ваших функциях. Вместо этого передайте параметры и возвращаемые значения.

use strict; 
use warnings; 

my $desc = Thor("thor-12345-4567"); 

print $desc; 

sub Thor { 
    my @names = @_; 

    if (@names){ 
     return uc $names[0]; 
    } else { 
     return "NA"; 
    } 
} 
+0

Спасибо вам, Миллер! Это очень полезно для меня! Я действительно ценю это! Еще один вопрос, почему нам нужно «использовать строгие» и «использовать предупреждения»? –

+3

Короткий ответ заключается в том, что он поможет вам улучшить код, а также поможет быстрее находить ошибки синтаксиса. Все специалисты используют его и должны. Для более детального ответа, я просто искал «stackoverflow», почему используют предупреждения строгого режима », и следующий поток выскочил на передний план: [зачем использовать строгие предупреждения и предупреждения?] (Http://stackoverflow.com/questions/8023959/why-use -strict-and-warnings) – Miller

+0

Спасибо, что много Миллер! –

Смежные вопросы