< Concord
Content added Content deleted
imported>DrOwl (UpDate| added in "!split on " and changed var type for segment to $ from %) |
imported>mutante mNo edit summary |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1:
this is a nice basic script that uses oracle's sql to get the element names that have a matching [[IP]] address.
<code>
#!/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/;
}
</code>
related: [[Perl]]
▲*<pre># 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
▲# usage 'getNamefromIP.pl x.x.x.x'
[[Concord|Back to Concord Index]]
▲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
[[Category:Concord]]
▲my $elements = qx{$oraPath/sqlplus -S $oraUser/$oraPassword <<EOF
[[Category:Computer]]
▲set head off
[[Category:English]]
▲SELECT NAME from NH_ELEMENT where IP_ADDRESS='$ipAddress';
[[Category:Perl]]
▲exit
▲EOF };
▲foreach my $segment (split(/
▲ next if /^$/;
▲ next if /rows selected.$/;
▲ print "$segment
|
Latest revision as of 09:18, 10 September 2006
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";
}
related: Perl