Matti Maekitalo: Subroutine

Beitrag lesen

use Mosche;

Erste:
sub var {
my %p = ();
$p{$_} = param($_) for (param());
return($p{$_});
}

Du legst jedes Mal in deiner Subroutine eine neue Variable an? Das ist sehr ineffizient. Greife doch lieber direkt auf param() zu, oder? Abgesehen davon ist $_ in der return Anweisung nicht unbedingt so definiert, wie du es willst. Willst du einen bestimmten Wert aus den Parametern auslesen? Dann solltest du vielleicht $_[0] benutzen statt $_. Willst du den gesamten Hash haben? Dann übergib auch den gesamten Hash.

for ($html) { s/<%%(.+?)%%>/$p{$1}/egs; }

Eas soll diese for-Schleife hier? Ist zwar syntaktisch nicht falsch, allerdings vollkommen unsinnig. Du willst irgendwas erreichen, dessen Grund ich nicht erkennen kann.

use Tschoe qw(Matti);

--
$a=n(1001010);print chr($a+=$_)for(0,43,-2,1,-84,65,13,1,5,
-12,-3,13,-82,48,21,13,-6,-76,72,-7,2,8,-6,13,-104);sub n{
$b=0;$_=0;for($c=length$_[0];$c;--$c){$_+=_($b)if substr$_
[0],$c-1,1;$b++;}$_}sub _{($d)=@_;for($e=1;$d--;$e*=2){}$e}