Thomas Müller <thomas@mueller-meissen.de> (Do 27 Feb 2014 21:01:51 CET):
> Hallo an die Scripting Experten unter Euch,Elegant ist anders, aber es geht aus so:
>
> wie kann ich elegant bzw. überhaupt folgende Aufgabe lösen:
> Gegeben ist eine Datei mit folgendem Inhalt (Auszug)
#! /usr/bin/perl
use 5.014;
use warnings;
use English qw(-no_match_vars);
$OFS = "\t";
$_ = do { local $RS = undef; <> };
while (
/^component:\s+(?<component>.+?(?=\Q$RS\E))
.*?
^current\sversion:\s+(?<current>\S+)
\s[<=>]\s
repository\sversion:\s(?<avail>\S+)
.*?
^package\sname:\s(?<package>.+?(?=\Q$RS\E))
/ixmgs
)
{
die "output field separator '$OFS' found in values"
if /\Q$OFS\E/ ~~ [values %+];
say @+{qw(component current avail package)};
}
Best regards from Dresden/Germany
Viele Grüße aus Dresden
Heiko Schlittermann
--
SCHLITTERMANN.de ---------------------------- internet & unix support -
Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} -
gnupg encrypted messages are welcome --------------- key ID: 7CBF764A -
gnupg fingerprint: 9288 F17D BBF9 9625 5ABC 285C 26A9 687E 7CBF 764A -
(gnupg fingerprint: 3061 CFBF 2D88 F034 E8D2 7E92 EE4E AC98 48D0 359B)-
_______________________________________________
Lug-dd maillist - Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd