Hi,
I need to split a string, either using awk or cut or basic unix commands (no programming) , with a multibyte charectar as a delimeter.
Ex:
abcd-efgh-ijkl
split by -efgh- to get two segments abcd & ijkl
Is it possible?
Thanks
A.H.S (1 Reply)
Hello,
I need to replace the comma to something else between the single quote:
1aaa,bbb,'cc,cc','ddd',1
2aaa,bbb,'ccc','d,d',0
to
1aaa,bbb,'cc<comma>cc','ddd',1
2aaa,bbb,'ccc','d<comma>d',0
Can someone help? Thanks. (2 Replies)
Hi,
I've been trying to write a regex to use in egrep (in a shell script) that'll fetch the names of all the files that match a particular pattern. I expect to match the following line in a file:
Name = "abc"
The regex I'm using to match the same is:
egrep -l '(^) *= *" ** *"$' /PATH_TO_SEARCH... (6 Replies)
Hi,
I have variable inside shell script - from_item.
from_item = 40.1'1/16
i have to first find out whether FROM_ITEM contains single quote(').
If yes, then that need to be replace with two quotes ('').
How to do it inside shell script? Please note that inside shell script........ (4 Replies)
Hi;
I want to write a shell script that will split a string with no delimiter.
Basically the script will read a line from a file.
For example the line it read from the file contains:
99234523
These values are never the same but the length will always be 8.
How do i split this... (8 Replies)
Hi I want to replace single quote with two single quotes in a perl string.
If the string is <It's Simpson's book> It should become <It''s Simpson''s book> (3 Replies)
I'm trying to extract a column from a csv file with either cut or awk but some of the fields contain comma with them:
"Field1","Field2, additional info","Field3",...,"Field17",...
If I want to extract column 3 and use comma as the delimiter, I'll actually get the additional info bit but not... (4 Replies)
Hi Froum.
I have tried in vain to find a solution for this problem - I'm trying to replace any double quotes within a quoted string with a single quote, leaving everything else as is.
I have the following data:
Before:
... (32 Replies)
From:
1,2,3,4,5,This is a test
6,7,8,9,0,"This, is a test"
1,9,2,8,3,"This is a ""test"""
4,7,3,1,8,""""
To:
1,2,3,4,5,This is a test
6,7,8,9,0,"This; is a test"
1,9,2,8,3,"This is a ''test''"
4,7,3,1,8,"''"Is there an easy syntax I'm overlooking? There will always be an odd number... (5 Replies)
I have a comma separated file which contains data like;
File header:
ID_WVR,SAK_WVR_SVC,DSC_WVR_WVC,SAK_PROCEDURE,CODES,CDE_PROC_MOD ,CDE_PROC_MOD_2 ,CDE_PROC_MOD_3
File Detail:
AMR,5100,Total Services,305,D0120,,,
AMR,5101,Periodic Services,40702,H2011,U1,,
AMR,5112,Day... (4 Replies)
Discussion started by: jnrohit2k
4 Replies
LEARN ABOUT DEBIAN
plack::builder
Plack::Builder(3pm) User Contributed Perl Documentation Plack::Builder(3pm)NAME
Plack::Builder - OO and DSL to enable Plack Middlewares
SYNOPSIS
# in .psgi
use Plack::Builder;
my $app = sub { ... };
builder {
enable "Deflater";
enable "Session", store => "File";
enable "Debug", panels => [ qw(DBITrace Memory Timer) ];
enable "+My::Plack::Middleware";
$app;
};
# use URLMap
builder {
mount "/foo" => builder {
enable "Foo";
$app;
};
mount "/bar" => $app2;
mount "http://example.com/" => builder { $app3 };
};
# using OO interface
my $builder = Plack::Builder->new();
$builder->add_middleware('Foo', opt => 1);
$app = $builder->mount('/app' => $app);
$app = $builder->to_app($app);
DESCRIPTION
Plack::Builder gives you a quick domain specific language (DSL) to wrap your application with Plack::Middleware subclasses. The middleware
you're trying to use should use Plack::Middleware as a base class to use this DSL, inspired by Rack::Builder.
Whenever you call "enable" on any middleware, the middleware app is pushed to the stack inside the builder, and then reversed when it
actually creates a wrapped application handler. "Plack::Middleware::" is added as a prefix by default. So:
builder {
enable "Foo";
enable "Bar", opt => "val";
$app;
};
is syntactically equal to:
$app = Plack::Middleware::Bar->wrap($app, opt => "val");
$app = Plack::Middleware::Foo->wrap($app);
In other words, you're supposed to "enable" middleware from outer to inner.
INLINE MIDDLEWARE
Plack::Builder allows you to code middleware inline using a nested code reference.
If the first argument to "enable" is a code reference, it will be passed an $app and is supposed to return another code reference which is
PSGI application that consumes $env in runtime. So:
builder {
enable sub {
my $app = shift;
sub {
my $env = shift;
# do preprocessing
my $res = $app->($env);
# do postprocessing
return $res;
};
};
$app;
};
is equal to:
my $mw = sub {
my $app = shift;
sub { my $env = shift; $app->($env) };
};
$app = $mw->($app);
URLMap support
Plack::Builder has a native support for Plack::App::URLMap with "mount" method.
use Plack::Builder;
my $app = builder {
mount "/foo" => $app1;
mount "/bar" => builder {
enable "Foo";
$app2;
};
};
See Plack::App::URLMap's "map" method to see what they mean. With builder you can't use "map" as a DSL, for the obvious reason :)
NOTE: Once you use "mount" in your builder code, you have to use "mount" for all the paths, including the root path ("/"). You can't have
the default app in the last line of "builder" like:
my $app = sub {
my $env = shift;
...
};
builder {
mount "/foo" => sub { ... };
$app; # THIS DOESN'T WORK
};
You'll get warnings saying that your mount configuration will be ignored. Instead you should use "mount "/" => ..." in the last line to set
the default fallback app.
builder {
mount "/foo" => sub { ... };
mount "/" => $app;
}
Note that the "builder" DSL returns a whole new PSGI application, which means
o "builder { ... }" should normally the last statement of a ".psgi" file, because the return value of "builder" is the application that
actually is executed.
o You can nest your "builder" block, mixed with "mount" (see URLMap support above):
builder {
mount "/foo" => builder {
mount "/bar" => $app;
}
}
will locate the $app under "/foo/bar" since the inner "builder" block puts it under "/bar" and it results a new PSGI application which
is located under "/foo" because of the outer "builder" block.
CONDITIONAL MIDDLEWARE SUPPORT
You can use "enable_if" to conditionally enable middleware based on the runtime environment. See Plack::Middleware::Conditional for
details.
SEE ALSO
Plack::Middleware Plack::App::URLMap Plack::Middleware::Conditional
perl v5.14.2 2012-05-17 Plack::Builder(3pm)