Schrift
[thread]6524[/thread]

Perl: Problem bei Parsen

Leser: 1


<< >> 7 Einträge, 1 Seite
OnkelBlacky
 2004-08-23 09:36
#49568 #49568
User since
2004-08-20
16 Artikel
BenutzerIn
[default_avatar]
Hi,

ich hab hier mal ne Liste von Rechner,

Aus der Liste möchte ich nur die Rechner raushaben, aber ohne das Doppel Backslash.

kann mir da einer helfen

Danke OnkelBlacky

Servername Beschreibung

-----------------------------------------------------------
\\SAPTRANSHOST SAP Rechner
\\SCHUFA02 samba exports
\\SNAGATE1
\\TRABI
\\WOLGA
\\WUNALA Datenbank- und Entwicklungsserver
Relais
 2004-08-23 10:55
#49569 #49569
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
while ( <> ) {
print m/(\w+)/, "\n";
}


Bearbeitet die Eingabe zeilenweise.
Alles ausser der ersten Folge von Buchstaben, Ziffern u. _ wird weggeworfen.
Das Übrige wird ausgegeben

Edit: Dank @renees Tip hier der angepaßte Hack:

Code: (dl )
1
2
3
4
<>; # Erste Zeile wegwerfen.
while ( <> ) {
print m/(\w+)/, "\n"; # Pro Zeile die erste Folge von Buchstaben, Ziffern u. _ ausgeben.
}
\n\n

<!--EDIT|Relais|1093253427-->
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
renee
 2004-08-23 10:59
#49570 #49570
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dann bekommst Du aber auch "servername". Ich würde es so machen, damit Du wirklich nur die Namen der Server bekommst:
Code: (dl )
1
2
3
while ( <> ) {
  print m/(\w+)/, "\n" if(/^\\\\/);
}
\n\n

<!--EDIT|renee|1093248297-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Taulmarill
 2004-08-23 11:56
#49571 #49571
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
TIMTOWTDI

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/local/bin/perl

use strict;
use warnings;
use Data::Dumper;

my @foo;

while ( <DATA> ) {
  push @foo, m/\\\\(\w+)/;
}

print Dumper \@foo;

# ohne Leerzeichen:
_ _DATA_ _

Servername             Beschreibung

-----------------------------------------------------------
\\SAPTRANSHOST         SAP Rechner
\\SCHUFA02             samba exports
\\SNAGATE1
\\TRABI
\\WOLGA
\\WUNALA               Datenbank- und Entwicklungsserver


edit renee: das von Crian geforderte _DATA_ eingefügt ;)\n\n

<!--EDIT|renee|1093250950-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Crian
 2004-08-23 12:45
#49572 #49572
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Man denke sich noch ein _ _DATA_ _ (ohne Leerzeichen) hinzu, welches das Board immer verschluckt.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Taulmarill
 2004-08-23 13:03
#49573 #49573
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
warum verschluckt das bard so was?
hab da gar nicht drauf geachtet ob das mit reinkommt...
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Crian
 2004-08-23 13:07
#49574 #49574
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
es verscluckt alle Zeilen in denen zwei Unterstriche aufeinander folgen. Keine Ahnung warum. Wird Zeit fürs neue Board...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 7 Einträge, 1 Seite



View all threads created 2004-08-23 09:36.