Thread Anfänger Frage :) (12 answers)
Opened by dauerpenn0 at 2008-01-31 11:23

murphy
 2008-01-31 15:08
#105402 #105402
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Bei Perl 5.10 verhält sich das Switchkonstrukt etwa so:
Code (perl): (dl )
1
2
3
given (...) {
  when ('string') { say 'matched' }
}

entspricht
Code (perl): (dl )
1
2
3
4
{
  local $_ = ...;
  if ($_ ~~ 'string') { say 'matched' }
}

und ~~ entspricht bei zwei Stringoperanden eq.

Außer innerhalb eines given-Blockes, darf das when-Konstrukt innerhalb einer foreach-Schleife eingesetzt werden und der ~~ ist extrem magisch, so dass man deine Schleife in Perl 5.10 äquivalent auch so schreiben könnte:
Code (perl): (dl )
1
2
3
4
5
foreach (@in) {
  when (['j', 'a']) {
    print 'ok';
  }
}

When C++ is your hammer, every problem looks like your thumb.

View full thread Anfänger Frage :)