Lars Madsen <daleif@imf.au.dk> writes:
> jeg mangler en perl rutine som kan lede igennem i en givet fil, og som
> kan give mig indholdet af den yderste { }, dvs. i dette tilfælde skal
> den give
Først læser vi filen ind og smider udkommenteret ting væk:
my @fil = <>;
s/(?!\\).\%.*// for @fil;
$fil = join "", @fil;
Det sjove er substitutionen. Læs man perlre find afsnittet Extended
patterns og find (?!pattern).
Så skal vi bare have matchet det rette ud. Mon ikke Text::Balanced kan
gøre dette?
Jeg ville nok prøve med:
use Text::Balanced qw(extract_bracketed);
my ($hit, $rest) = extract_bracketed($fil,"{}");
Men jeg har faktisk aldrig brugt Text::Balanced, så jeg er ikke helt
sikekr på hvordan extract_bracketed skal kaldes. Prøv dig frem.
--
Peter Makholm | Have you ever felt trapped inside a Klein bottle?
peter@makholm.net |
http://hacking.dk |