10-08-2008
I totally agree with era. chomp() the scalars that store the output from the backticks and add the filename and $! to the die message. chomp() should resolve the problem though.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have a 1-line file which looks like " First second third 4 five". I need to extract the number (here 4) in that line and put it in a variable. I will use the variable later to make few tests in my C shell script.
Can somebody help me? (2 Replies)
Discussion started by: haouesse
2 Replies
2. Shell Programming and Scripting
the script i am trying to write will allow my server to give itself an ip address.
So far i am up to the following but i'm stuck.
tracert -m 1 > traceroute.txt
1 routername (ipaddr) 2.094 ms 1.789 ms 1.243 ms
i want to get ipaddr as a variable and use it to write the ifcfg-eth... (7 Replies)
Discussion started by: aspect_p
7 Replies
3. Shell Programming and Scripting
Hello,
I am new to mailx and perl and I need help.
I need create a shell script to read the mails on the SUN server, then parse the subject line and message body of each email to extract particular data so that I can pass these data fields in as application parameters to invoke a java... (4 Replies)
Discussion started by: jliharper
4 Replies
4. Shell Programming and Scripting
I need shell 0r Perl script to read multiple input and do something and come out
example:
echo “ enter the host names separated by space “
read servers
foreach @servers
{ do
do something
done}
Here host names like host1 host2 host3 . . . . . . . so on
Please help me... (8 Replies)
Discussion started by: sreedhargouda
8 Replies
5. Shell Programming and Scripting
Can we pass perl variable to shell commands. If yes, please give some example. (2 Replies)
Discussion started by: Anjan1
2 Replies
6. Shell Programming and Scripting
Hi,
I am calling a Perl script in my shell script. When Perl script is executed it asks for a answer to be entered by user from terminal. How can i pass that value from my shell script ??
I know I can change perl script to default the answer but i dont have access to do that so only option i... (5 Replies)
Discussion started by: varun22486
5 Replies
7. Shell Programming and Scripting
Hi,
I would like to use a shell variable $amp in my perl command line.
for fa in $WORKSPACE/*.fa; do
amp=`grep ">.*" $fa | sed -e's#>\(.*\)#\1#g'`
ampsam="$WORKSPACE/$base/$base.$amp.sam"
sqheader=`grep "^@SQ.*SN:$amp.*" $sam`
printf "$sqheader\n" >> $ampsam
... (3 Replies)
Discussion started by: jdilts
3 Replies
8. Shell Programming and Scripting
hi,
i have a text file which conatins some fields delimited by space. some fields contains * as entries.
cron_file.txt
0 * * * *
0 3 * * *
i want to read each line 1 by 1 and store each field in seperate variables n a shell script.
i am unable to read the field that contains a *. how... (3 Replies)
Discussion started by: Little
3 Replies
9. 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
10. Shell Programming and Scripting
Hi,
I have a shell script, In which i have variable "var1" and some perl command inside shell script.
export var1='coep -n rst-a2p-hinje.vci.all.com -c'
perl -pi -e 's/^/coep -n rst-a2p-hinje.vci.all.com -c /' command.txt
currently I am adding value of var1 in command.txt file by... (2 Replies)
Discussion started by: rakeshtomar82
2 Replies
LEARN ABOUT DEBIAN
padre::document::perl::beginner
Padre::Document::Perl::Beginner(3pm) User Contributed Perl Documentation Padre::Document::Perl::Beginner(3pm)
NAME
Padre::Document::Perl::Beginner - naive implementation of some beginner specific error checking
SYNOPSIS
use Padre::Document::Perl::Beginner;
my $beginner = Padre::Document::Perl::Beginner->new;
if (not $beginner->check($data)) {
warn $beginner->error;
}
DESCRIPTION
This is a naive implementation. It needs to be replaced by one using PPI.
In Perl 5 there are lots of pitfalls the unaware, especially the beginner can easily fall in. While some might expect the Perl compiler
itself would catch those it does not (yet ?) do it. So we took the initiative and added a beginners mode to Padre in which these extra
issues are checked. Some are real problems that would trigger an error anyway we just make them a special case with a more specific error
message. (e.g. "use warning;" without the trailing s) Others are valid code that can be useful in the hands of a master but that are
poisonous when written by mistake by someone who does not understand them. (e.g. "if ($x = /value/) { }" ).
This module provides a method called "check" that can check a Perl script (provided as parameter as a single string) and recognize
problematic code.
Examples
See <http://padre.perlide.org/ticket/52> and <http://www.perlmonks.org/?node_id=728569>
Cases
o
split /,/, @data;
Here @data is in scalar context returning the number of elements. Spotted in this form:
split /,/, @ARGV;
o
use warning;
s is missing at the end.
o
map { $_; } (@items),$extra_item;
is the same as
map { $_; } (@items,$extra_item);
but you usually want
(map { $_; } (@items)),$extra_item;
which means: map all @items and them add $extra_item without mapping it.
o Warn about Perl-standard package names being reused
package DB;
o
$x = chomp $y;
print chomp $y;
o
map { s/foo/bar/; } (@items);
This returns an array containing true or false values (s/// - return value).
Use
map { s/foo/bar/; $_; } (@items);
to actually change the array via s///.
o
<@X>
o
if ($x = /bla/) {
}
o Pipe | in open() not at the end or the beginning.
o
open($ph, "| something |");
o Regular expression starting with a quantifier such as
/+.../
o
} else if {
o
} elseif {
o
close;
HOW TO ADD ANOTHER ONE
Please feel free to add as many checks as you like. This is done in three steps:
Add the test
Add one (or more) tests for this case to t/75-perl-beginner.t
The test should be successful when your supplied sample fails the check and returns the correct error message. As texts of error messages
may change, try to match a good part which allows identification of the message but don't match the very exact text.
Tests could use either one-liners written as strings within the test file or external support files. There are samples for both ways in the
test script.
Add the check
Add the check to the check-sub of this file (Document/Perl/Beginner.pm). There are plenty samples here. Remember to add a sample (and maybe
short description) what would fail the test.
Run the test script to match your test case(s) to the new check.
Add the configuration option
Go to Config.pm, look for the beginner error checks configuration and add a new setting for your new check there. It defaults to 1 (run the
check), but a user could turn it off by setting this to 0 within the Padre configuration file.
COPYRIGHT & LICENSE
Copyright 2008-2012 The Padre development team as listed in Padre.pm.
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.14.2 2012-06-27 Padre::Document::Perl::Beginner(3pm)