SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] perl begynder



torben fjerdingstad <sslug@sslug> writes:

> Sample input:
> Return-Path: <sslug@sslug>
> Output:
> sslug@sslug

Det kan man klare med denne 1-linjers (brudt i 2 da den er lidt >80 tegn):

   perl -wne \
      '/^Return-Path: <(\S+-)return-\d+(-\S+)>/i && print "$1unsubscribe$2\n"'

Inputtet giver du enten på stdin eller på kommandolinjen, ligesom med dit
eget 15-16-linjers-script.  Manualsider:

   `-n'         :  perlrun(1)      (lav `while(<>){...}'-logik
   `\S' og `\d' :  perlre(1)       (matcher ikke-whitespace hhv. cifre)
   `$1' og `$2' :  perlre(1)       (det som 1. hhv. 2. parentes-par matchede)

Hvis du vil være sikker på at Perl-kommandoen kun svarer med 1 adresse
(dvs. exit'er så snart den har fundet det første match), og du også gerne vil
have det som et lidt pænere script, så prøv i stedet

   #! /usr/bin/perl -wn
   if (/^Return-Path: <(\S+)-return-\d+-(\S+)>/i) {
       print("$1-unsubscribe-$2\n");
       exit 0;
   }


-- 
Ulrik Dickow, Systemprogrammør				Kampsax Technology
Tlf:  +45 36 39 08 00					Stamholmen 112
Fax:  +45 36 77 03 01					DK-2650 Hvidovre
WWW:  http://www.kampsax.dk/technology/			Danmark


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:51
Denne side vedligeholdes af MHonArc .