10-20-2010
It looks for 0 or more characters-that-are-not-a-double-quote in front of a double quote. The zero or more characters-that-are-not-a-double-quote that follow are in parentheses, so they are group 1. All this has to be followed by a double quote and 0 or more characters-that-are-not-a-double-quote. If there is a match It replaces all this with what was stored in group 1 followed by a single space. It repeats for every such pattern on the line (g flag).
This User Gave Thanks to Scrutinizer For This Post:
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I'm trying following:echo "test line XA24433 test" | sed 's/.*X\(.*\)/X\1/'
XA24433 test While I want the output as: XA24433
I want to grab the words starting with letter X till the next space, this word can be anywhere in the line. (9 Replies)
Discussion started by: nervous
9 Replies
2. Shell Programming and Scripting
Hi!
I'm trying to write a regexp but I have no luck...
I have a string like this:
param1=sometext¶m2=hello¶m3=bye
Also, the string can be simply:
param2=hello
I want to return the value of param2: "hello".
How can I do this?
Thanks. (3 Replies)
Discussion started by: GagleKas
3 Replies
3. Shell Programming and Scripting
please consider this:
echo "11111*X*005010X279~ST*270*1111111*005010X279~BHT*0011*11" | sed 's/.*\(005010X(\d)(\d)(\d)*\).*$/\1/'i'm searching for first occurrence of 005010X while leaving rest of characters out.
:confused:
any tips? thnx in advance guys. (7 Replies)
Discussion started by: grep01
7 Replies
4. UNIX for Dummies Questions & Answers
Hi ,
I am learing sed
echo abc 123 def 456 | sed 's|\(*\) \(*\)|\1|'
is returning abc def 456
i was hoping abc def "\1" should only print the occurence of the first pattern
but according to my understanding it is just removing the first occurence of the second pattern... (7 Replies)
Discussion started by: max_hammer
7 Replies
5. Programming
Hi all,
How am I read a file, find the match regular expression and overwrite to the same files.
open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat";
open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat";
while (<DESTINATION_FILE>)
{
# print... (1 Reply)
Discussion started by: jessy83
1 Replies
6. Shell Programming and Scripting
Hi all,
I want to get a substring from a string based on given delimiter, for example:
str="foo|bar|baz" with delimiter "|",
I want to get one substring at each time with the order number the substring in the whole string,
given 1 to get "foo",
given 2 to get "bar",
given 3 to get "baz",
I... (2 Replies)
Discussion started by: Roy987
2 Replies
7. UNIX for Advanced & Expert Users
Hello All,
I'm trying to extract the lines between two consecutive elements of an array from a file.
My array looks like:
problem_arr=(PRS111 PRS213 PRS234)
j=0
while } ]
do
k=`expr $j + 1`
sed -n "/${problem_arr}/,/${problem_arr}/p" problemid.txt
---some operation goes... (11 Replies)
Discussion started by: InduInduIndu
11 Replies
8. Shell Programming and Scripting
I am learning SED and just following the shell scripting book, i have trouble understanding the grep and sed statement,
Question : 1
__________
/opt/oracle/work/antony>cat teledir.txt
jai sharma 25853670
chanchal singhvi 9831545629
anil aggarwal 9830263298
shyam saksena 23217847
lalit... (7 Replies)
Discussion started by: Antony Ankrose
7 Replies
9. Shell Programming and Scripting
Hi , I need to remove pipe character from a |^ delimeted file.
Something like |^tran|sformers||^|revenge |of fallen|^ to
|^transformers|^revenge of fallen|^...
Cold anybody please help to build the regular expression using sed .
many thanks.
Please use code tags next time for... (1 Reply)
Discussion started by: kokjek
1 Replies
LEARN ABOUT DEBIAN
cgi::formbuilder::source::yaml
CGI::FormBuilder::Source::YAML(3pm) User Contributed Perl Documentation CGI::FormBuilder::Source::YAML(3pm)
NAME
CGI::FormBuilder::Source::YAML - Initialize FormBuilder from YAML file
SYNOPSIS
use CGI::FormBuilder;
my $form = CGI::FormBuilder->new(
source => {
source => 'form.fb',
type => 'YAML',
},
);
my $lname = $form->field('lname'); # like normal
DESCRIPTION
This reads a YAML (YAML::Syck) file that contains FormBuilder config options and returns a hash to be fed to CGI::FormBuilder->new().
Instead of the syntax read by CGI::FormBuilder::Source::File, it uses YAML syntax as read by YAML::Syck. That means you fully specify the
entire data structure.
LoadCode is enabled, so you can use YAML syntax for defining subroutines. This is convenient if you have a function that generates valida-
tion subrefs, for example, I have one that can check profanity using Regexp::Common.
validate:
myfield:
javascript: /^[sS]{2,50}$/
perl: !!perl/code: >-
{ My::Funk::fb_perl_validate({
min => 2,
max => 50,
profanity => 'check'
})->(shift);
}
POST PROCESSING
There are two exceptions to "pure YAML syntax" where this module does some post-processing of the result.
REFERENCES (ala CGI::FormBuilder::Source::File)
You can specify references as string values that start with &, $, @, or \% in the same way you can with CGI::FormBuilder::Source::File.
If you have a full direct package reference, it will look there, otherwise it will traverse up the caller stack and take the first it
finds.
For example, say your code serves multiple sites, and a menu gets different options depending on the server name requested:
# in My::Funk:
our $food_options = {
www.meats.com => [qw( beef chicken horta fish )],
www.veggies.com => [qw( carrot apple quorn radish )],
};
# in source file:
options: @{ $My::Funk::food_options->{ $ENV{SERVER_NAME} } }
EVAL STRINGS
You can specify an eval statement. You could achieve the same example a different way:
options: eval { $My::Funk::food_options->{ $ENV{SERVER_NAME} }; }
The cost either way is about the same -- the string is eval'd.
EXAMPLE
method: GET
header: 0
title: test
name: test
action: /test
submit: test it
linebreaks: 1
required:
- test1
- test2
fields:
- test1
- test2
- test3
- test4
fieldopts:
test1:
type: text
size: 10
maxlength: 32
test2:
type: text
size: 10
maxlength: 32
test3:
type: radio
options:
-
- 1
- Yes
-
- 0
- No
test4:
options: @test4opts
sort: &Someother::Package::sortopts
validate:
test1: /^w{3,10}$/
test2:
javascript: EMAIL
perl: eq 'test@test.foo'
test3:
- 0
- 1
test4: @test4opts
You get the idea. A bit more whitespace, but it works in a standardized way.
METHODS
new()
Normally not used directly; it is called from CGI::FormBuilder. Creates the "CGI::FormBuilder::Source::YAML" object. Arguments from the
'source' hash passed to CGI::FormBuilder->new() will become defaults, unless specified in the file.
parse($source)
Normally not used directly; it is called from CGI::FormBuilder. Parses the specified source file. No fancy params -- just a single file-
name is accepted. If the file isn't acceptable to YAML::Syck, I suppose it will die.
SEE ALSO
CGI::FormBuilder, CGI::FormBuilder::Source
AUTHOR
Copyright (c) 2006 Mark Hedges <hedges@ucsd.edu>. All rights reserved.
LICENSE
This module is free software; you may copy it under terms of the Perl license (GNU General Public License or Artistic License.)
http://www.opensource.org/licenses/index.html
perl v5.8.8 2007-12-09 CGI::FormBuilder::Source::YAML(3pm)