In this special case there is no effective difference between "$*" and "$@", because in bash the cd builtin accepts only one argument, the name of the directory you want to change to.
In ksh, cd takes optionally a second argument.
where old ist substituted with new in the current directory name and then changed to this directory, like
In this special case it would make a difference, because "$@" would keep two arguments intact, even if they contain whitespace, whereas "$*" would combine arg1 and arg2 into one string.
Hi guys,
I have no idea on unix but suddenly, my cobol programs calls a unix script that i know nothing about.
can you guys interpret these lines for me?
i know its a print command but I want to actually know how many copies it prints.
qprt -da -P $1 -t '6' -i '6' -l '70' $2
qprt -da... (1 Reply)
Could you interpret the following sed and awk command for me?
command:
cat tempfile2 |sed "s/\(BUILD-3-.*-\.-\)\(.*\..*\..*\)/\2/" | awk '{printf "%-8.8s %-23.23s %-30.30s %-50.50s\n", $1,$2,$3,substr($0,index($0,$4))}' > outfile2 2>/dev/null
input:(data in tempfile2)... (1 Reply)
Hi,
So I am new to Unix, and I need to check the performance of some apps I am running. But I don't know how to interpret the output from TOP.
Could somebody please explain the difference between the different values. And also explain how I can have a process which has a %CPU > 100?
... (7 Replies)
hi
I have a text file abc.txt as below
a = 0
b = 1
c = 3
i want to interpret this file i.e. if number corresponding to 'a' is 0 i want to run a script script.bash .
How do do that? (4 Replies)
I have collected data of Number of L2 cache misses using PAPI. I had run an MPI application with 4 threads (mpirun -np 4) and each thread reads the cache misses in L2. Each thread outputs data for every timestamp. eg:
Timestamp data
xxx530 thread# 0 2136
xxx531 thread# 0 ... (0 Replies)
I know $0 is the entire file's contents (at least I think that is what it is!), but what exactly is: $0!~
This was a snippet from a larger line
awk '$0!~/^$/ {print $0}'
This deletes blank lines, but I want to know specifically the $0!~ part... I am guessing /^$/ is regex for blank line...... (5 Replies)
Can anyone tell me how to interpret this:
listpage="ls |more" (the spaces are there in the example)
$listpage
It's from my bash book and I'm not sure what it means (3 Replies)
hi All,
i have never used sed in Unix environment, but i have one script which is using this following command:
cat audit_session_rpt_MSP_20140331.lst|sed -n '/Apr 14/!p'| sed -n '/Page/!p'| sed -n '/UserName/!p' |\
egrep -v '^-|^=|^\*'|sed '/^$/d'|sed -e '1,7d'... (1 Reply)
I booted into single user mode with
/usr/sbin/reboot -- -s
but after doing a control -d
my
who -r
shows
run-level 3 Nov 17 14:07 3 0 S
I was expecting it to show run-level S
why is this still in run level 3?
thanks (1 Reply)
Discussion started by: goya
1 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)