Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Parseur pour générer du Html

1 réponse
Avatar
benoitcroissant
Bonjour,
Je possède un fichier de configuration : dhcpd.conf, et je voudrais
récupérer à l'aide de perl, les champs de chaque hôte et générer une
page HTML avce ceux ci.
Le fichier est structuré comme suit :


default-lease-time 600;
max-lease-time 7200;
subnet ip netmask mask {
option truc
option machin
option retruc
option remachin
option reretruc
}


host nom {
hardware ethernet addr_mac
fixed-address ip
Description : descr
Location : info
}
host nom1 {
hardware ethernet addr_mac1
fixed-address ip
Description : descr
Location : info
}
host nom2 {
hardware ethernet addr_mac2
fixed-address ip
Description : descr
Location : info
}
...

Je voudrais obtenir les infos sur ma page web :

Nom addr_mac ip descr info
Nom1 addr_mac1 ip1 descr1 info1
...

Existe-il un parseur ou comment la faire à la main??
Merci

1 réponse

Avatar
Benoit Izac
Bonjour,

le 04/05/2004 à 12:53, (Ben) a écrit
dans le message :

Je possède un fichier de configuration : dhcpd.conf, et je voudrais
récupérer à l'aide de perl, les champs de chaque hôte et générer une
page HTML avce ceux ci.
Existe-il un parseur ou comment la faire à la main??


Ton fichier ne me semble pas correct : avec la version d'ISC que
j'utilise, les lignes finissent par un `;' et il n'y a pas de champs
`Description' et `Location'. J'ai fait selon le cahier des charges, à
toi d'adapter par la suite.
Ce script est sommaire ; il ne gère pas les commentaires, les champs
comme les adresses MAC ou IP pourraient avoir des expressions
rationnelles plus fines.
Pour le HTML, je te laisse te débrouiller.

#!/usr/bin/perl -w
use strict;

local $/;
while (<DATA>) {
while (/s*hosts+(w+)s*{s*
hardwares+ethernets+(S*)s*
fixed-addresss+(S*)s*
Descriptions*:s*(S*)s*
Locations*:s*(S*)s*
}/mxg) {
print "$1 $2 $3 $4 $5n";
}
}

__DATA__
host nom {
hardware ethernet addr_mac
fixed-address ip
Description : descr
Location : info

}
host nom1{ hardware ethernet addr_mac1
fixed-address ip1
Description:descr1
Location : info1}
host nom2 {
hardware ethernet addr_mac2
fixed-address ip2
Description : descr2
Location : info2
}


--
Benoit Izac