🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #11157

Re: Actualizar el XF86Config desde un script

#11157
From: tas
Date: Thu, 03 Jan 2002 23:09
84 lines
3020 bytes
Ignacio Arenaza escribi�:

IA> El churro (bastante poco optimizado y limpio, la verdad) que adjunto a
IA> continuacion permite verificar si el path que se le indica como
IA> argumento esta o no en el fichero que se le envia por la entrada
IA> estandar (como un valor del tipo FontPath). Genera el codigo de

El churro :) tal y como lo has escrito falla en casi todos los casos
(y porque nos vamos conociendo, no descarto que los errores los hayas
puesto intencionadamente :) , pero he cogido la idea.

Con estas "correcciones" funciona bien:

<-----> <-----> <-----> <-----> <-----> <-----> <-----> <-----> <-----> 
#!/usr/bin/perl -w
#
# fichero busca_fontpath.pl
#
# Copyright (C) 2001 Ignacio Arenaza. Distribuible bajo licencia GPL.
#
use strict;

my $IN;
my $OUT;
my $continue;
my $last;
my @paths;
my %fontpaths;
my $i;

$continue = 0;
# La siguiente l�nea no pinta nada, as� que la quito...
#print "$ARGV[1]\n";

while (<STDIN>) {
    chomp;
# Para que no haya l�os entre espacios y tabuladores...
#    next unless (/^ *FontPath/i or $continue); 
    next unless (/^[ \t]*FontPath/i or $continue);
    if (! $continue) {
#        /^ *FontPath (.*)$/io;
        /^[ \t]*FontPath[ \t](.*)$/io;
        $_ = $1;
    }
#    /^ *(.*)$/o;
    /^[ \t]*(.*)$/o;
    $_ = $1;
    $last = substr ($_, -1);
    if ($last eq "\\") {
        $continue = 1;
# No me vuelvas loco. Hay una funci�n que hace esto :)
#        $_ = substr ($_, 0, length ($_)-1);
        chop;
	}
    else {
        $continue = 0;
    }
    @paths = split /,/;
    foreach $i (@paths) {
# Esta l�nea es la que provoca la mayor�a de los fallos...
#        $i =~ /^[^\"]*\"([^\"]*)\"/o;
        $i =~ /^\"?([^\"]*)\"?/o;
	$_ = $1;
        $fontpaths{$_} = 1;
    }
}

if (defined ($fontpaths {$ARGV[0]})) {
    exit 0;
}
else {
    exit 1;
}
<-----> <-----> <-----> <-----> <-----> <-----> <-----> <-----> <-----> 


Muchas gracias. Me ha servido para introducirme en el Perl (ya me
tocaba empezar).

Vamos a echarle un vistazo ahora al awk :)

Un saludo.
-- 
Debian GNU/Linux
Technical Details
Message-ID: <mao21a.6eg.ln@127.0.0.1>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!130.133.1.3!fu-berlin.de!newsfeed.bcn.ttd.net!news.mad.ttd.net!not-for-mail
References: <rvhi0a.9aj.ln@127.0.0.1> <871yhdzkvi.fsf@eb2ebu.ampr.org>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,3ab78fa791df1f1e
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-01-03 15:13:07 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!130.133.1.3!fu-berlin.de!newsfeed.bcn.ttd.net!news.mad.ttd.net!not-for-mail
From: tas <tas@subdimension.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Actualizar el XF86Config desde un script
Date: Fri, 4 Jan 2002 00:09:10 +0100
Organization: Bits & Bobs Inc.
Lines: 84
Message-ID: <mao21a.6eg.ln@127.0.0.1>
References: <rvhi0a.9aj.ln@127.0.0.1> <871yhdzkvi.fsf@eb2ebu.ampr.org>
NNTP-Posting-Host: acceso-i5.mad.idec.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: tin/1.4.1-19991201 ("Polish") (UNIX) (Linux/2.2.20 (i586))