source: trunk/tp-perl/services-file.pl @ 403

Last change on this file since 403 was 271, checked in by nanardon, 13 years ago
  • fixes, improvement and last slide
File size: 746 bytes
Line 
1#!/bin/env perl -w
2
3use strict;
4use Getopt::Long;
5
6GetOptions(
7    'n' => \my $bynumber,
8) or die "Wrong options given\n";
9my ($serv, $proto) = @ARGV;
10$proto or die "Usage: $0 [-n] SERVICE PROTOCOL\n";
11
12open(my $handle, '<', '/etc/services')
13    or die "Can't open services file: $!\n";
14
15while (my $line = <$handle>) {
16    chomp($line);
17    $line =~ s/#.*//;
18    my ($mname, $mport, $mproto) = $line =~ m:(\S+)\s+(\d+)/(\w+):
19            or next;
20    if ($bynumber) {
21        if ($mport == $serv && $proto eq $mproto) {
22            print "$mname\n"; exit(0);
23        }
24    } else {
25        if ($mname eq $serv && $proto eq $mproto) {
26            print "$mport\n"; exit(0);
27        }
28    }
29}
30close($handle);
31die "Service $proto/$serv no found\n";
Note: See TracBrowser for help on using the repository browser.