#!/usr/bin/perl -w #Markus Westphal 09.01.2006 ###################################################### # Markus Westphal swiss4blocks.pl # ###################################################### use strict; my($pf,$j,$i,$stand,$datei,@ind,$search,$record,$ind); $i = 1; #globale Variabeln füllen $datei = "blocksliste.txt"; $i = 0; $stand = 1; #EINLESEN Dateinamen Profile for($j = -1; $j < $#ARGV; $j++) { if($ARGV[$j] =~ /^datei/) { ($pf, $datei) = split("=", $ARGV[$j]); } } #AUSGABEDATEI open(TF, ">swissblocks.txt") || die ("Die Ausgabedatei kann nicht erstellt werden!\n"); #EINLESEN open(DT,"<$datei") || die ("$datei kann nicht geoeffnet werden!"); while(
) { if($_ =~ /^HBA/) { &zcheck($_); } } close(DT); &swissparse(); #FUNKTIONEN sub zcheck() { my($c) = @_; my($index); $c =~ /(\w+)|.*/; $index = $1; $ind[$i] = $index; $i++ } sub swissparse() { open(SW,") { print "Record: $stand\n"; $record = $_; $record =~ /ID\s+(\w*)\s+.*.\nAC/s; $search = $1; for($j = 0;$j < $#ind;$j++) { if(!($ind[$j] eq "")) { if($search =~ /^$ind[$j]/) { print TF "$record"; } } } $stand++; } close(SW); } close(TF);