< Concord
Content added Content deleted
imported>DrOwl mNo edit summary |
imported>DrOwl mNo edit summary |
||
Line 25: | Line 25: | ||
foreach my $segment (split(/ /,$elements)) { |
foreach my $segment (split(/ /,$elements)) { |
||
next if /^$/; |
next if /^$/; |
||
next if /rows selected.$/; |
next if /rows selected\.$/; |
||
next if /rows selected/; |
next if /no rows selected/; |
||
print "$segment"; |
print "$segment\n"; |
||
} |
} |
||
</code> |
</code> |
Revision as of 14:22, 4 February 2005
this is a nice basic script that uses oracle's sql to get the element names that have a matching IP address.
# more getNamefromIP.pl
#!/bin/perl
use strict;
use warnings;
# simple script that outputs the names of elements that have an IPaddress given as and argument
# added in a simple IP address test (NOTE this is not a full IPV4 test ie it will alow 333.x.x.x)
# but we wont worry about that as its only querying a database and will just retuirn no values
# if not found. usage 'getNamefromIP.pl x.x.x.x'
my $oraUser="user name here";
my $oraPassword="password here";
my $oraPath="path to sqlplus command here"; # eg "/oracle/bin"
my $ipAddress=$ARGV[0] || die "Missing args $!"; # get ipAddress
if ($ipAddress !~ /^(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})$/) {die "not a valid IPAddress";}
my $elements = qx{$oraPath/sqlplus -S $oraUser/$oraPassword <<EOF
set head off
SELECT NAME from NH_ELEMENT where IP_ADDRESS='$ipAddress';
exit
EOF };
foreach my $segment (split(/ /,$elements)) {
next if /^$/;
next if /rows selected\.$/;
next if /no rows selected/;
print "$segment\n";
}