Sponsored Content
Top Forums Shell Programming and Scripting loop throw perl regexp selection Post 302086808 by cbkihong on Sunday 27th of August 2006 09:44:59 PM
Old 08-27-2006
Well, you can actually do something highly nasty with s/// in a loop. Look at my example.

Code:
$_ = q|<form name="CustomerStatus" action="<% env.GetURI %>"
method="post"<%if(blah)%> name="<% env.get("StatusList") %>" >
<% hello %><input type="hidden" name="<% env.get("Operation") %>" value="">|;
print "Before: $_\n";

while ($_ =~ s/(<%.*?%>)/&{sub {
    my $out = shift;
    $out =~ tr|<>|[]|;
    $out;
}}($1)/ge) {}
print "After: $_\n";

Output:

Code:
[bernardchan@bernardchan ~]$ perl -w /dev/shm/nasty.pl
Before: <form name="CustomerStatus" action="<% env.GetURI %>"
method="post"<%if(blah)%> name="<% env.get("StatusList") %>" >
<% hello %><input type="hidden" name="<% env.get("Operation") %>" value="">
After: <form name="CustomerStatus" action="[% env.GetURI %]"
method="post"[%if(blah)%] name="[% env.get("StatusList") %]" >
[% hello %]<input type="hidden" name="[% env.get("Operation") %]" value="">

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need Help with Perl REGEXP

I need help with a Perl regular expression. The following string blows up my program: <david(greg jim)> If I type this string, there is no problem: <david(greg_jim)> or type david(gregjim) or type <david greg jim> the CGI program does not complain. For some reason that I do not understand the... (1 Reply)
Discussion started by: mh53j_fe
1 Replies

2. Shell Programming and Scripting

perl regexp

What is the easiest way to get full address of *.jpg images from html file using perl? example: http://farm3.static.flickr.com/2397/2126443111_65a810004c.jpg (1 Reply)
Discussion started by: mirusnet
1 Replies

3. Shell Programming and Scripting

GUI selection for perl scripts

Hi, I need to develop a GUI for Perl scripts which needs frequent user interactions(like getting the inputs from the user at various stages). Can anyone suggest a language to develop a GUI which is simple to use and which can be implemented within a short time frame? Thanks, Vishwa (1 Reply)
Discussion started by: vishwa787
1 Replies

4. Shell Programming and Scripting

perl regexp matching

Hello, I cannot see what's wrong in my code. When I run code below, it just print an empty string. my $test = "SWER~~ERTGSDFGTHAS_RTAWGA_DFAS.x4-234253454.in"; if ($test = ~ m/\~{1,2}.*4/) { print "$1\n"; } else { print "No match...\n"; } Anyone know what I'm doing wrong? ... (4 Replies)
Discussion started by: urandom
4 Replies

5. Shell Programming and Scripting

perl regexp: no match across newlines

Hi. Here's a tricky one (at least to me): I have a file named theFile.txt (UTF-8) that contains the following: a b cWhen I execute perl -pe 's|a.*c|d|sg' theFile.txtin bash 3.2 on MAC OS X 10.6, I get no match, i.e. the result is a b cagain. Any clues why? (2 Replies)
Discussion started by: BatManWSL
2 Replies

6. Shell Programming and Scripting

replace awk with a perl one liner (REGEXP and FS)

hello, I want to replace awk with a perl one liner in unix. i use in awk REGEX and FS ( field separator) because awk syntaxes in different unix os versions have not the same behaviour. Awk, Nawk and GNU Awk Cheat Sheet - good coders code, great reuse i have a file named "file" and want... (5 Replies)
Discussion started by: bora99
5 Replies

7. Programming

Perl OLE Selection property iteration in cycle

Hi gurus, i am trying to write simple perl script using win32 ole which will iterate over all M$ word paragraphs (any text that ends with a hard return) and print only those paragraphs that matches the specified condition. The problem is that I need to access font size property. It seems to me that... (0 Replies)
Discussion started by: wakatana
0 Replies

8. Shell Programming and Scripting

Perl regexp help

Hi, I have file like below: 1|1212|34353|5fdf 6575||dfgdg sfsdf |afsf||4|aasfbc|~1213~~~~~ 1|1212|34353|5fdf 6575||dfgdg sfsdf |affsf| |4|abc|~rwarw~~asa~~~123~312313 1|1212|34353|5fdf 6575||dfgdg sfsdf |afasfs||4|aasfdbc|~564564~~~~ 1|1212|34353|5fdf 6575||dfgdg sfsdf... (1 Reply)
Discussion started by: sol_nov
1 Replies

9. Shell Programming and Scripting

Perl regexp to extract first and second column

Hi, I am trying with the below Perl one-liner using regular expression to extract the first and second column of a text file: perl -p -e "s/\s*(\w+).*/$1/" perl -p -e "s/\s*.+\s(.+)\s*/$1\n/" whereas the text file's data looks like: Error: terminated 2233 Warning: reboot 3434 Warning:... (3 Replies)
Discussion started by: royalibrahim
3 Replies

10. Shell Programming and Scripting

find and Replace String in Perl - Regexp

Trying to find and replace one string with another string in a file #!/usr/bin/perl $csd_table_path = "/file.ntab"; $find_str = '--bundle_type=021'; $repl_str = '--bundle_type=021 --target=/dev/disk1s2'; if( system("/usr/bin/perl -p -i -e 's/$find_str/$repl_str/' $csd_table_path")... (2 Replies)
Discussion started by: cillmor
2 Replies
PPI::Token::Regexp::Match(3)				User Contributed Perl Documentation			      PPI::Token::Regexp::Match(3)

NAME
PPI::Token::Regexp::Match - A standard pattern match regex INHERITANCE
PPI::Token::Regexp::Match isa PPI::Token::Regexp isa PPI::Token isa PPI::Element SYNOPSIS
$text =~ m/match regexp/; $text =~ /match regexp/; DESCRIPTION
A "PPI::Token::Regexp::Match" object represents a single match regular expression. Just to be doubly clear, here are things that are and aren't considered a match regexp. # Is a match regexp /This is a match regexp/; m/Old McDonald had a farm/eieio; # These are NOT match regexp qr/This is a regexp quote-like operator/; s/This is a/replace regexp/; METHODS
There are no methods available for "PPI::Token::Regexp::Match" beyond those provided by the parent PPI::Token::Regexp, PPI::Token and PPI::Element classes. Got any ideas for methods? Submit a report to rt.cpan.org! SUPPORT
See the support section in the main module. AUTHOR
Adam Kennedy <adamk@cpan.org> COPYRIGHT
Copyright 2001 - 2011 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.18.2 2011-02-25 PPI::Token::Regexp::Match(3)
All times are GMT -4. The time now is 09:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy