05-02-2005
The sub keyword has the syntax as follows: sub(regexp, replacement, target) and is used to change the value of "target". sub searches the string target for the left most substring matched by the regular expression defined (regexp). If a match is found, the target is changed by the value of replacement.
The code searches for APP *<, App *<, TOM *< , or tom *< (basically APP, App, TOM, or tom followed by any number of spaces and then a < sign) in the 31st field of the record (fields delimited by a | ). If a match is found, the 31st field is changed to simply <
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi Perl/UNIX experts,
I have a problem in running a shell script from my perl script (auto.pl).
I run the perl script using
perl auto.pl
from the shell prompt
The shell script picks the files in "input" folder and procesess it.
The shell script blue.sh has this code.
export... (16 Replies)
Discussion started by: hifake
16 Replies
2. Shell Programming and Scripting
Hi,
I have an HTML form through which I get some text as input. i need to run a shell script say script.sh inside a perl-cgi script named main_cgi.sh on the form input.
I want to write the contents of the form in a file and then perform some command line operations like grep, cat on the text... (2 Replies)
Discussion started by: smriti_shridhar
2 Replies
3. Shell Programming and Scripting
i want use ssh on the host01 to execute autoexec.sh on the host02 like following :
host01> ssh host02 autoexec.sh
autoexec.sh include nohup command like follwing :
nohup /home/jack/deletedata.sh &
after i execute ssh host02 autoexec.sh one the host01. i can't found deletedata.sh... (1 Reply)
Discussion started by: orablue
1 Replies
4. Shell Programming and Scripting
Hi,
I basically have 2 shell scripts.
One is a shell script will get the variable value from the user. The variable is nothing but the IP of the remote system.
Another shell script is a script that does the job of connecting to the remote system using ssh. This uses a expect utility in turn.
... (2 Replies)
Discussion started by: sunrexstar
2 Replies
5. Shell Programming and Scripting
Hi All,
I have new for shell scripting.
Problem : I have one scrip at serv1 and path of server is /apps/dev/provimage/scripts and script name:extract_ancillary.bat.
I need to call this script at server2(my working server) and execute at server2 .
Please let me know how to build the... (5 Replies)
Discussion started by: Vineeta Nigam
5 Replies
6. Shell Programming and Scripting
I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist.
diff=$1$2.diff
id=$2 new=new_$diff
echo "My id is $1"
echo "I want to sync for user account $id"
##awk command I am using is as below
cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies
7. UNIX for Dummies Questions & Answers
Dear Unix gurus,
We have a config shell script file which has 30 variables which needs to be passed to master unix shell script that invokes oracle database sessions. So those 30 variables need to go through the database sessions (They are inputs) via a shell script. one of the variable name... (1 Reply)
Discussion started by: dba1981
1 Replies
8. Shell Programming and Scripting
Dear Unix gurus,
We have a config shell script file which has 30 variables which needs to be passed to master unix shell script that invokes oracle database sessions. So those 30 variables need to go through the database sessions (They are inputs) via a shell script. one of the variable name... (1 Reply)
Discussion started by: dba1981
1 Replies
9. Shell Programming and Scripting
Dear Friends,
Please help me on this
my script name is send.csh
In this i have written the statement like this
set args = ( city state country price )
I want to pass this array to another c shell called receiver.csh. and i want to use it in this c shell
or
how to pass to... (2 Replies)
Discussion started by: SA_Palani
2 Replies
10. UNIX for Beginners Questions & Answers
Hi,
I am totally a newbie to any programming languages and I just started an entry level job in an IT company. One of my recent tasks is to create a script that is able to show the log file of linux service (i.e. ntpd service)
lets say, if I run my script ./test.sh, the output should be... (3 Replies)
Discussion started by: xiaogeji
3 Replies
LEARN ABOUT DEBIAN
regexp::reggrp
Regexp::RegGrp(3pm) User Contributed Perl Documentation Regexp::RegGrp(3pm)
NAME
Regexp::RegGrp - Groups a regular expressions collection
VERSION
Version 1.002
DESCRIPTION
Groups regular expressions to one regular expression
SYNOPSIS
use Regexp::RegGrp;
my $reggrp = Regexp::RegGrp->new(
{
reggrp => [
{
regexp => '%name%',
replacement => 'John Doe',
modifier => $modifier
},
{
regexp => '%company%',
replacement => 'ACME',
modifier => $modifier
}
],
restore_pattern => $restore_pattern
}
);
$reggrp->exec( $scalar );
To return a scalar without changing the input simply use (e.g. example 2):
my $ret = $reggrp->exec( $scalar );
The first argument must be a hashref. The keys are:
reggrp (required)
Arrayref of hashrefs. The keys of each hashref are:
regexp (required)
A regular expression
replacement (optional)
Scalar or sub.
A replacement for the regular expression match. If not set, nothing will be replaced except "store" is set. In this case the
match is replaced by something like sprintf("x01%dx01", $idx) where $idx is the index of the stored element in the store_data
arrayref. If "store" is set the default is:
sub {
return sprintf( "x01%dx01", $_[0]->{store_index} );
}
If a custom restore_pattern is passed to to constructor you MUST also define a replacement. Otherwise it is undefined.
If you define a subroutine as replacement an hashref is passed to this subroutine. This hashref has four keys:
match Scalar. The match of the regular expression.
submatches Arrayref of submatches.
store_index The next index. You need this if you want to create a placeholder and store the replacement in the
$self->{store_data} arrayref.
opts Hashref of custom options.
modifier (optional)
Scalar. The default is 'sm'.
store (optional)
Scalar or sub. If you define a subroutine an hashref is passed to this subroutine. This hashref has three keys:
match Scalar. The match of the regular expression.
submatches Arrayref of submatches.
opts Hashref of custom options.
A replacement for the regular expression match. It will not replace the match directly. The replacement will be stored in the
$self->{store_data} arrayref. The placeholders in the text can easily be rereplaced with the restore_stored method later.
restore_pattern (optional)
Scalar or Regexp object. The default restore pattern is
qr~x01(d+)x01~
This means, if you use the restore_stored method it is looking for x010x01, x011x01, ... and replaces the matches with
$self->{store_data}->[0], $self->{store_data}->[1], ...
EXAMPLES
Example 1
Common usage.
#!/usr/bin/perl
use strict;
use warnings;
use Regexp::RegGrp;
my $reggrp = Regexp::RegGrp->new(
{
reggrp => [
{
regexp => '%name%',
replacement => 'John Doe'
},
{
regexp => '%company%',
replacement => 'ACME'
}
]
}
);
open( INFILE, 'unprocessed.txt' );
open( OUTFILE, '>processed.txt' );
my $txt = join( '', <INFILE> );
$reggrp->exec( $txt );
print OUTFILE $txt;
close(INFILE);
close(OUTFILE);
Example 2
A scalar is requested by the context. The input will remain unchanged.
#!/usr/bin/perl
use strict;
use warnings;
use Regexp::RegGrp;
my $reggrp = Regexp::RegGrp->new(
{
reggrp => [
{
regexp => '%name%',
replacement => 'John Doe'
},
{
regexp => '%company%',
replacement => 'ACME'
}
]
}
);
open( INFILE, 'unprocessed.txt' );
open( OUTFILE, '>processed.txt' );
my $unprocessed = join( '', <INFILE> );
my $processed = $reggrp->exec( $unprocessed );
print OUTFILE $processed;
close(INFILE);
close(OUTFILE);
AUTHOR
Merten Falk, "<nevesenin at cpan.org>"
BUGS
Please report any bugs or feature requests through the web interface at http://github.com/nevesenin/regexp-reggrp-perl/issues
<http://github.com/nevesenin/regexp-reggrp-perl/issues>.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Regexp::RegGrp
COPYRIGHT & LICENSE
Copyright 2010, 2011 Merten Falk, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2012-02-18 Regexp::RegGrp(3pm)