QuoteName der fehlerhaften Anwendung: perl.exe, Version: 0.0.0.0, Zeitstempel: 0x513f0ec4
Name des fehlerhaften Moduls: ntdll.dll, Version: 6.1.7601.18229, Zeitstempel: 0x51fb164a
Ausnahmecode: 0xc0000374
Fehleroffset: 0x00000000000c4102
ID des fehlerhaften Prozesses: 0x1074
Startzeit der fehlerhaften Anwendung: 0x01cec20f9f8f32ea
Pfad der fehlerhaften Anwendung: C:\strawberry\perl\bin\perl.exe
Pfad des fehlerhaften Moduls: C:\Windows\SYSTEM32\ntdll.dll
Berichtskennung: 421035bd-2e03-11e3-97ce-80ee735c8ddb
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/usr/bin/perl use strict; use warnings; use diagnostics; my @satz = ( 'foo', 'bar', ); for (my $z = 0; $z < scalar @satz; $z ++) { if ($satz[$z] eq 'bar') { $z --; delete $satz[$z]; } }
2013-10-05T23:25:29 RaubtierHm, wusste gar nicht, dass delete bei Array-Werten geht!
2013-10-05T23:25:29 RaubtierEs ruft nach einam Fehler, wenn man Schleifenvariablen in Schleifen verändert
1 2 3 4 5 6 7 8
#!/usr/bin/perl use strict; use warnings; use diagnostics; my @satz = qw( foo bar ); for ( my $z = $#satz; $z >= 0; $z -- ) { splice(@satz,$z,1) if ($satz[$z] eq 'bar'); }
1 2 3 4 5 6
#!/usr/bin/perl use strict; use warnings; use diagnostics; my @satz = qw( foo bar ); $satz[$z] eq 'bar' and splice(@satz,$z,1) for ( reverse 0..$#satz );