I agree with frank_rizzo. Perl can do everything that you are doing with that Bash script, so if you do want to use Perl, use its inbuilt pattern-matching capabilities to process your file.
Maybe something like this:
The output was not printed to the "malflag" file because the file appeared to be created only so you could read it back; we have $malflag for that same purpose.
If you do want the malflag file, then you could either redirect the output of the one-liner, or write a Perl program that opens res.txt for reading and malflag for writing.
As for why the embedded Bash script inside the Perl program returns 0 in all cases - that's due to the special way Perl treats an interpolated string to be run as a system command.
tyler_durden
Last edited by durden_tyler; 08-27-2011 at 12:04 PM..
Hi All,
I need to pass a variable to perl script from bash script, where in perl i am using if condition. Here is the cmd what i am using in perl
FROM_DATE="06/05/2008"
TO_DATE="07/05/2008"
"perl -ne ' print if ( $_ >="$FROM_DATE" && $_ <= "$TO_DATE" ) ' filename"
filename has... (10 Replies)
Hi all,
I'm not sure but I guess, that is a bash version issue.
The script working fine on "GNU bash, version 3.2.25(1)-release Ubuntu".
#!/bin/bash
while IFS=">" read a id val
do
if ]
then
VAL=${id%<*}; ID=${id#*</}
echo $VAL
echo $ID
sed... (5 Replies)
Hello, I'm relatively new to using bc so I could use some help. In this script im working on I want to have the bc function to calculate float numbers for imagemagicks convert charcoal. Below is what I'm talking about. There are no syntax errors but when it outputs the users frames for example 0-10... (2 Replies)
Hi guys,
I need for the bash code below a little bit help: cat script.sh
#!/bin/bash
5_MYVALUE="test"
echo "$5_MYVALUE"
If I try to run the script, got follow failure:
./script.sh
./script.sh: line 4: 5_MYVALUE=test: command not found
_MYVALUE
My questions are how... (4 Replies)
Hi,
I am trying to write a PBS shell script that launches a bash process. The issue is that the bash process needs a variable in it and the shell script is interpreting the variable. How do I pass this as a literal string? Here is my code snippit:
TMP=".fasta"
FILEOUT=$FILE$TMP
cd... (2 Replies)
ls -l /md01/EL/MarketData/inbound/ststr/INVENTORY* |tail -5 |awk '{ print $5,$6,$7,$8,$9 }'If I run the above from the command line the output to md_email is formatted correctly as
78213497 May 1 12:50 /md01/EL/MarketData/inbound/ststr/INVENTORY.20120430.PINESTREET.CSV.done
77904740 May 2... (3 Replies)
Hello,
I'm attempting to run a script on a remote server via SSH but am having issues getting the script to run using proprietary binaries located on the remote server as it keeps complaining that commands are invalid on the local machine. If I run the script locally on the remote server, it... (2 Replies)
Hi,
I have the following code which is giving error mentioned below. Please can you support on this. Also suggest how can we access all the items against single vasservicename in circlename array,i.e, vasservicename say MTSTV will be available to all circles which are mentioned in the array... (2 Replies)
I found the following issue by simply increasing a variable. The ((A++)) expression returns an error, the other expressions both return 0. Does anyone know why?
script.sh:
#! /bin/bash
A=0
B=0
C=0
((A++)) ; echo "${?}"
((B=B+1)) ; echo "${?}"
((C+=1))... (8 Replies)
Hello everyone,
I need help comparing 2 arrays. the first array is static; the second array is not ..
array1=( "macOS Mojave" "iTunes" )
cd /Volumes
array2=( * )
# output of array2
macOS Mojave
iTunes
Mac me
The problem occurs when I compare the arrays with the following code -
... (6 Replies)
Perl::Critic::Policy::ControlStructures::ProhibitLabelsWUserpContPerl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames(3pm)NAME
Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames - Don't use labels that are the same as the special block
names.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
When using one of the special Perl blocks "BEGIN", "END", "CHECK", "INIT", and "UNITCHECK", it is easy to mistakenly add a colon to the end
of the block name. E.g.:
# a BEGIN block that gets executed at compile time.
BEGIN { <...code...> }
# an ordinary labeled block that gets executed at run time.
BEGIN: { <...code...> }
The labels "BEGIN:", "END:", etc. are probably errors. This policy prohibits the special Perl block names from being used as labels.
CONFIGURATION
This Policy is not configurable except for the standard options.
SEE ALSO
The Perl Buzz article on this issue at http://perlbuzz.com/2008/05/colons-invalidate-your-begin-and-end-blocks.html
<http://perlbuzz.com/2008/05/colons-invalidate-your-begin-and-end-blocks.html>.
ACKNOWLEDGMENT
Randy Lauen for identifying the problem.
AUTHOR
Mike O'Regan
COPYRIGHT
Copyright (c) 2008-2011 Mike O'Regan. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames(3pm)