Thread Arrayelement verändern
(1 answers)
Opened by Sam at 2016-03-16 15:38
Naja, suche im zweiten Element und füge den Treffer beim ersten Element ein.
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 #! /usr/bin/perl use strict; use warnings; my @array = ( '0', '<VT>ABC</VT><!--Source: ; ( ;)-->', '<VT>12 wert</VT><!--Source: ; ( ;)-->', ); my $i=0; # Suche und fange ein, was innerhalb von <VT></VT> steht if ( my ($catch) = $array[$i+2] =~ m{<VT>(.+?)</VT>} ) { warn "Catched: $catch\n"; # fuege Fund vor </VT> im ersten String ein $array[$i+1] =~ s{</VT>}{$catch</VT>}; } # Kontrollausgabe require Data::Dumper; print Data::Dumper->new( [ \@array ], [ '*array' ])->Dump(); Output: Code: (dl
)
1 Catched: 12 wert Bei komplexeren Sachen wäre ein passender Parser wahrscheinlich sinnvoller (es schaut ja grob nach html/xml aus). Doku-Hinweise: perlretut perlre perlrequick http://perl-tutorial.org/ -> Modern Perl 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! |