Thread Finde den Fehler nicht in map-Konstrukt (Modification of a read-only value attempted)
(8 answers)
Opened by Rolf_PlusW at 2010-11-03 16:49
Hi,
ist die Zeile 134 mit der von Dir gezeigten "Source" identisch? mit Deinen Beispieldaten bekomme ich nur folgende Meldungen: Code: (dl
)
1 Use of uninitialized value $_ in pattern match (m//) at D:\temp\t.pl line 48. Testcode: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 #! /usr/bin/perl use strict; use warnings; my @pages = ( { 'mid' => '164', 'texts' => [ undef, 'FGFDBB' ], 'class' => 'DT' }, { 'mid' => '159', 'texts' => [ undef, 'arfara' ], 'class' => 'DT' }, { 'mid' => '154', 'texts' => [], 'class' => 'DT' }, { 'mid' => '153', 'texts' => [ undef, '', 'GAGRE', '', '' ], 'class' => 'DT' }, { 'mid' => undef, 'texts' => [], 'class' => 'DT' }, ); my @checked = map { $_->{class} ne 'DT' ? 1 : ( defined($_->{mid}) && grep ( /\w+/ , @{$_->{texts}} ) ? 1 : 0 ) } @pages; Die Warnungen werd ich los, indem ich ||() hinter @{$_->{texts}}) einfüge. Kannst Du ein Minimalskript erstellen, mit dem Deine Meldung reproduziert werden kann? meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |