Revision: 68127
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 1, 2014 03:31 by jsinix
Initial Code
#!/usr/bin/perl -w use CGI qw(:standard); use CGI::Carp qw(warningsToBrowser fatalsToBrowser); use strict; use Switch; print header; print start_html("Device Status DB"); my @fieldnames = param(); my $device = param('devicename'); chomp($device); my $devicelen = length($device); if($devicelen > 15) { print "Device name should be less than 15 characters."; exit(); } my $description = param('description'); my $descriptionlen = length($description); if($descriptionlen > 150) { print "Description should be less than 150 characters."; exit(); } my $password = param('pass'); chomp($password); #print $password; #my $pwdbit0 = pass_bit($password); #print $pwdbit0; my $replacebit = param('replace'); chomp($replacebit); my $selection = param('select'); chomp($selection); switch ($selection) { case "add" {add_entry($device, $description);} case "query" {query_entry($device);} case "remove" {remove_entry($device);} else {print "No valid option\n";} } sub add_entry { my ($dev1, $des1) = @_; my $pbit = is_present($dev1); my $pwdbit1 = pass_bit($password); if($pwdbit1 != 1) { print "Incorrect password"; exit(); } if($pbit eq "1") { if($replacebit == 1) { create_device($dev1, $des1); print "Updated"; } else { print "Device already present. If you want to replace select the 'Replace existing entry' and try again."; } } else { create_device($dev1, $des1); print "Created"; } } sub query_entry { my ($dev2) = @_; my $qqbit = is_present($dev2); my $file_location = "DeviceDB/$dev2"; if($qqbit == 1) { my $result1 = `cat $file_location`; print $result1; } else { print "Entry not present"; } } sub remove_entry { my ($dev5) = @_; my $ppbit = is_present($dev5); my $file_location = "DeviceDB/$dev5"; my $pwdbit2 = pass_bit($password); if($pwdbit2 != 1) { print "Incorrect password"; exit(); } if($ppbit == 1) { `rm $file_location`; print "Entry removed"; } else { print "Entry not present already"; } } sub is_present { my ($dev3) = @_; my $file_location = "DeviceDB/"; my $res = `ls -1 $file_location | grep $dev3`; if($res) { return 1; } else { return 0; } } sub create_device { my ($dev4,$des4) = @_; my $file_location = "DeviceDB/$dev4"; open my $fh, '>', $file_location or die $!; print $fh $des4; close $fh; } sub pass_bit { my ($pass1) = @_; if($pass1 eq "12345") { return 1; } else { return 0; } } #my $link = "#"; #my $text = "Homepage"; #print "<br><br><br>"; #print "<a href=\"$link\">$text</a>"."\t"; print end_html;
Initial URL
www.jsinix.com
Initial Description
Author: jsinix([email protected] This script can be used to create, delete and update device inventory. This is a basic script that can be modified and improved upon to make it serve better .
Initial Title
Perl inventory management script
Initial Tags
perl
Initial Language
Perl