www.farid-hajji.net banner

Farid Hajji

Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]

Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2

Beispielprogramm

test7.c
/* test7.c -- perl_eval_pv() und dynamischer Code                  */
/*            Ein grep(1) mit den regulaeren Ausdruecken von Perl. */
/*            Mit embedmain.c zusammenlinken.                      */

#include <EXTERN.h>
#include <perl.h>

#include <stdio.h>
#include <string.h>

#define MAXCODESIZE 2048
#define MAXFILENAME 256
#define MAXREGEXP   256

void doit(void) {
  char code[MAXCODESIZE];
  char fname[MAXFILENAME];
  char regex[MAXREGEXP];

  printf("Filename to scan? ");
  fgets(fname, sizeof(fname)-1, stdin); fname[sizeof(fname)-1]='\0';
  printf("Perl Regexp? ");
  fgets(regex, sizeof(regex)-1, stdin); fname[sizeof(regex)-1]='\0';

  /* Erstellen wir nun den Code. */
  snprintf(code, sizeof(code)-1,
           "my $fname = '%s'; chomp $fname;\n"
           "my $regex = '%s'; chomp $regex;\n"
           "open(IFILE, $fname) or die $!;\n"
           "print join('', grep(/$regex/o, <IFILE>));\n"
           "close(IFILE);\n",
           fname, regex);

  code[sizeof(code)-1] = '\0';

  /* Fuehren wir den Code aus: */
  perl_eval_pv(code, TRUE);
}
   

[Prev] [Up] [Relevant Chapter] [Next]

[Alte Quelle]


Last modified: $Date: 2006/05/18 12:56:09 $
FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy
FreeBSD Logo