#!/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);