Sponsored Content
Full Discussion: Help Needed Perl
Top Forums Shell Programming and Scripting Help Needed Perl Post 302317992 by durden_tyler on Wednesday 20th of May 2009 12:57:34 PM
Old 05-20-2009
Quote:
Originally Posted by john_prince
Apparently, the script should check for either a null value OR satisfy telephone format ( xxx-xxxx). Like "22" is not a correct phone format...
Code:
$
$ cat test_scr.pl
#!/usr/bin/perl -w
my @office_patterns        = ('^\d{3}-\d{4}$');
my @international_patterns = ('^[+]\d \d{3} \d{3}-\d{4}$');
# assume the phone no. is in standard format; 1=true, 0=false
my $stdfmt = 1;
#my $record = ",111-5555";
#my $record = "111-5555,+1 111 222-333";
#my $record = "22,333-4444";
my $record = $ARGV[0];
my @office_phones;
my @international_phones;
foreach $number ( split( /,\s*/, $record ) ) {
  last if ( $number eq "" );
  # Trim spaces.
  $number =~ s/^\s+//;
  $number =~ s/\s+$//;
  foreach $office_pattern (@office_patterns) {
    if ( $number =~ /$office_pattern/ ) {
      push @office_phones, $number;
      next;
    }
  }
  if ($#office_phones eq -1) {
    $stdfmt = 0;
    last;
  }
}
if ($stdfmt eq 0)               { print "First input value is not in standard format\n" }
elsif ( $#office_phones eq -1 ) { print "First input value is null\n" }
else                            { print "First input value = $office_phones[0]\n" }
$
$ perl test_scr.pl ,222-3333
First input value is null
$
$ perl test_scr.pl 22,333-4444
First input value is not in standard format
$
$ perl test_scr.pl "222-5555,+1 555 333-4444"
First input value = 222-5555
$
$

tyler_durden
 

10 More Discussions You Might Find Interesting

1. AIX

Perl.rte needed..

Hello I was installing ssh in Aix 4.3 but found that "perl.rte and rpm.rte" was not installed. but to my bad luck i was not able to find these packages for Aix 4.3. Ibm site just has these packages only for 5L. Can anyone help me in finding these packages. Bala (1 Reply)
Discussion started by: balaji_prk
1 Replies

2. Shell Programming and Scripting

different result on shell and on perl HELP NEEDED

hi i am using this command which would return to be the filename ls -l $dir1 | awk '{print $9}' however on perl when i use: `ls -l $dir1 | awk '{print \$9}' > tmp` it gives me a different result. Everything is the same however a directory does not contain the the forward slash so i... (2 Replies)
Discussion started by: nookie
2 Replies

3. Shell Programming and Scripting

Perl - help needed

Hi all, I'm a rookie in Perl scripting, and I have a task to do. Generally it's something like that: I have a reference file consisting of a number and name, tab-separated. One entry in one line, about 99 lines in file. The other file is an XML log file, where in one specific branch, eg.... (8 Replies)
Discussion started by: tklich
8 Replies

4. Shell Programming and Scripting

Perl Script Help Needed

I need this script to be able to check both IPs that are given to it and exit with an OK... if one of those expected IPs is returned. The script is run like this: /bin/dns_checker.pl -s 69.34.55.66 -q htt.jababa.com -e 69.44.56.33,45.47.43.55 Right now, the script is failing, but when I... (4 Replies)
Discussion started by: SkySmart
4 Replies

5. Shell Programming and Scripting

Perl script help needed..

Hi, I am new to perl scripting. Can anybody help me in solving the below problem. I have file, which is called map_file. According to map_file's last column data, i need a output file, which has repeats as like the map_file's last column name. Thank you in advance Vasanth (5 Replies)
Discussion started by: vasanth.vadalur
5 Replies

6. Shell Programming and Scripting

Perl command help needed

#!/bin/bash perl -nle' /(?:date|time|ref)/ and print join " ", /(?:date|time|ref)+/g or print ' inputfile Problem I have is that I want to delete words that are on the line of the 3 words above (date, time, and reference). However, I do not want to delete the words... (9 Replies)
Discussion started by: linuxkid
9 Replies

7. Shell Programming and Scripting

Perl script needed

For the following command I need a perl script equivalent with a couple of more things - cat /tmp/mail |grep Appname > /tmp/mail1;cat /tmp/mail >> /tmp/mail1; mail -s "mail subject here" allan@mail.com < /tmp/mail1; >/tmp/mail ; >/tmp/mail1 ================== cat /tmp/mail ***** Alert *****... (4 Replies)
Discussion started by: jacki
4 Replies

8. Shell Programming and Scripting

Help needed with Perl Script

i have the following script: #!/usr/local/bin/perl use STUN::Client; use Data::Dumper; use strict; my $stun_client = STUN::Client->new; $stun_client->stun_server('10.59.29.14'); my $r = $stun_client->get; my $ip = $r->{ma_address}; print "IP: $ip\n\nResult (hash):... (5 Replies)
Discussion started by: SkySmart
5 Replies

9. Shell Programming and Scripting

perl regex help needed

Hi, I want to validate strings in perl, the string may contains characters from a-zA-Z0-9 and symbols +-_.:/\ To validate such a string I computed a regex if ($string =~ m/^/) { print "valid"; } else { print "invalid"; } but this regex also validates strings that contain... (8 Replies)
Discussion started by: zing_foru
8 Replies

10. Shell Programming and Scripting

PERL help needed

Hi, I will be asking a series of major newbie questions, and you help is greatly appreciated in advance!! I have to write a script that will parse a logfile in a directory, the directory name changes daily. So far I have: #!/usr/bin/perl open LOGFILE,">logfile.txt"; ($day, $month,... (3 Replies)
Discussion started by: BG_JrAdmin
3 Replies
gmatch(3GEN)                                         String Pattern-Matching Library Functions                                        gmatch(3GEN)

NAME
gmatch - shell global pattern matching SYNOPSIS
cc [ flag ... ] file ... -lgen [ library ... ] #include <libgen.h> int gmatch(const char *str, const char *pattern); DESCRIPTION
gmatch() checks whether the null-terminated string str matches the null-terminated pattern string pattern. See the sh(1), section File Name Generation, for a discussion of pattern matching. A backslash () is used as an escape character in pattern strings. RETURN VALUES
gmatch() returns non-zero if the pattern matches the string, zero if the pattern does not. EXAMPLES
Example 1: Examples of gmatch() function. In the following example, gmatch() returns non-zero (true) for all strings with "a" or "-" as their last character. char *s; gmatch (s, "*[a-]" ) ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
sh(1), attributes(5) NOTES
When compiling multithreaded applications, the _REENTRANT flag must be defined on the compile line. This flag should only be used in mul- tithreaded applications. SunOS 5.10 29 Dec 1996 gmatch(3GEN)
All times are GMT -4. The time now is 09:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy