05-19-2009
Help Needed Perl
Hi,
I need your help on this script wherein I am matching up the input phone numbers for a partical pattern (xxx-xxxx). However in this I want to have null output where first value of input is null. ( For Example: $record = " ,111-5555") . Ideally I would expect to recieve input in this format ($record = "111-5555,+1 111 222-333". Is there any way that script should not pick up second value.
Quote:
#!/usr/bin/perl -w
my @office_patterns = ('^\d{3}-\d{4}$');
my @international_patterns = ('^[+]\d \d{3} \d{3}-\d{4}$');
my $record = ",111-5555";
my @office_phones;
my @international_phones;
NUMBER: foreach $number (split(/,\s*/, $record)) {
# Trim spaces.
$number =~ s/^\s+//; $number =~ s/\s+$//;
foreach $office_pattern (@office_patterns) {
if ($number =~ /$office_pattern/) {
push @office_phones, $number;
next NUMBER;
}
}
}
print "$office_phones[0]\n";
Thanks in Advance.
Regards,
Prince
10 More Discussions You Might Find Interesting
1. AIX
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
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
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
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
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
#!/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
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
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
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
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
SUBST(1) General Commands Manual SUBST(1)
NAME
subst - substitute definitions into file(s)
SYNOPSIS
subst [ -e editor ] -f substitutions victim ...
DESCRIPTION
Subst makes substitutions into files, in a way that is suitable for customizing software to local conditions. Each victim file is altered
according to the contents of the substitutions file.
The substitutions file contains one line per substitution. A line consists of two fields separated by one or more tabs. The first field
is the name of the substitution, the second is the value. Neither should contain the character `#', and use of text-editor metacharacters
like `&' and `' is also unwise; the name in particular is best restricted to be alphanumeric. A line starting with `#' is a comment and
is ignored.
In the victims, each line on which a substitution is to be made (a target line) must be preceded by a prototype line. The prototype line
should be delimited in such a way that it will be taken as a comment by whatever program processes the file later. The prototype line must
contain a ``prototype'' of the target line bracketed by `=()<' and `>()='; everything else on the prototype line is ignored. Subst
extracts the prototype, changes all instances of substitution names bracketed by `@<' and `>@' to their values, and then replaces the tar-
get line with the result.
OPTIONS
-e Substitutions are done using the sed(1) editor, which must be found in either the /bin or /usr/bin directories. To specify a dif-
ferent executable, use the ``-e'' flag.
EXAMPLE
If the substitutions file is
FIRST 111
SECOND 222
and the victim file is
x = 2;
/* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
y = 88 + 99;
z = 5;
then ``subst -f substitutions victim'' changes victim to:
x = 2;
/* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
y = 111 + 222;
z = 5;
FILES
victimdir/substtmp.new new version being built
victimdir/substtmp.old old version during renaming
SEE ALSO
sed(1)
DIAGNOSTICS
Complains and halts if it is unable to create its temporary files or if they already exist.
HISTORY
Written at U of Toronto by Henry Spencer.
Rich $alz added the ``-e'' flag July, 1991.
BUGS
When creating a file to be substed, it's easy to forget to insert a dummy target line after a prototype line; if you forget, subst ends up
deleting whichever line did in fact follow the prototype line.
25 Feb 1990 SUBST(1)