2013-06-21T10:50:51
reneeDas
!/^\*\*\*INPUT STATEMENT:/i wird *vor* dem Match ausgeführt, was widerum ein
! ($_ =~ /^\*\*\*INPUT STATEMENT:/i) ist. Da in
$_ nichts steht, gibt das keinen Treffer. Das aber negiert gibt "1". Und
$input =~ 1 ist unwahr, weil keine 1 vorkommt.
Wenn in $input eine 1 steht, bekommst Du einen Treffer:
$ perl -E 'say "1" =~ !/^\*\*\*INPUT STATEMENT:/i'
1
$ perl -E 'say "-- -----" =~ !/^\*\*\*INPUT STATEMENT:/i'
$
Danke, jetzt hab ichs kapiert ;-)