#!/usr/bin/perl ############################################################################# # search: Search /etc/passwd for some content # return an XML output of the matching records # ############################################################################# use CGI "param"; $str = param('search') || param('q'); #obtain HTML entry field if (! $str) #if no param is entered { print "Content-type: text/html \n\n"; print "

Please provide username as: URL?q=...

\n"; exit(0); } print "Content-type: text/xml \n"; #text/xml instead of text/html print "\n"; open (FILE, "< /etc/passwd") || print "Cannot open file - $!"; print "\n"; print "\n"; ####### Search file contents ######## while($line = ) { if ($line =~ /$str/i) #if line contains search str { @elements = split(':', $line); print " \n "; print " $elements[0] "; print " $elements[2] "; print " $elements[4] "; print " $elements[5]\n"; print " \n"; } } print "\n"; close(FILE); exit(0);