Forum Webscript.Ru
Программирование => Perl => Тема начата: Yaroslav от 27 Декабря 2004, 00:01:47
-
можно это уместить в 1 строчку или лучше так?
if ($text =~ /^pr/) {}
elsif ($text =~ /^to/) {}
else {}
-
Yaroslav:
можно это уместить в 1 строчку или лучше так?
можно, пример:
my $str=\'yes\';
$str=~/^y/ ? print "yes" : ($str=~/^n/ ? print "no" : print "fuck");
только зачем? Понятнее она от этого не станет, удобства тоже особо не наблюдается, да и не намного укоротится
-
Yaroslav
$text =~ /^(pr|to)/ ? &$1() : &false();
-
Wyclef
NeoNox
спасибо
-
Wyclef:
$text =~ /^(pr|to)/ ? &$1() : &false();
c use strict
такое не покатит, поэтому немного видоизменяем:
my %subs=(\'pr\'=>\\&pr,
\'to\'=>\\&to);
$text =~ /^(pr|to)/ ? $subs{$1} : &false();
-
Green Kakadu
так то еще лучше?
if ($login =~ /^(pr|to)/) {}
else {}
-
Yaroslav:
if ($login =~ /^(pr|to)/) {}
в первом посте ты показал, что для варианов pr и to у тебя происходят различные действия