10-20-2010
Any (well written) Perl program should probably have a shebang (#!/usr/bin/perl ....) in it.
In that case, call it as you would call anything else.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi all,
Not sure if this is the right forum to post query regarding perl script.
I have a perl script which internally calls a shell script. My problem is that the shell script should be passed command line arguments.
I call a shell script from perl using:
system("sript.sh");
How do... (3 Replies)
Discussion started by: gurukottur
3 Replies
2. Shell Programming and Scripting
Hi,
I just tried to call a simple script from a pretty simple C program. I could not succeed :-( a message was thrown saying
"sh: line 1: "Script name with path": Permission denied"
The C program and shell script are below, both are in the same directory and shell script is given... (7 Replies)
Discussion started by: Chanakya.m
7 Replies
3. Shell Programming and Scripting
I need to write a c program that uses the fork and excel system calls to run the shell script mode invoked like this: "./mode 644 ls -l" (that is the argumetns will always be 644 ls -l)
here's the mode script:
#!/bin/sh
octal="$1"
shift
find . -maxdepth 1 -perm $octal -exec $@ {} \;
... (3 Replies)
Discussion started by: computethis
3 Replies
4. UNIX for Dummies Questions & Answers
On bash I run precompiled c Program as follows:
./create_cust 1 10000 US S > us_cust.csv
create_cust is a c program and requires 4 parameters.
I am redirecting the output of this program to csv file
I need to run this same program in perl
I am aware of exec command though not... (7 Replies)
Discussion started by: gkbond
7 Replies
5. Shell Programming and Scripting
Hi,
I have a shell script which connects to a database and fetches the count of the records from a table. I want to embed this whole script in a C program. Also the count fetched should be available in the C program for further usage.
Please let me know how this can be done.
Thanks
... (0 Replies)
Discussion started by: swasid
0 Replies
6. Programming
Hi,
I have a shell script which connects to a database and fetches the count of the records from a table. I want to embed this whole script in a C program. Also the count fetched should be available in the C program for further usage.
Please let me know how this can be done.
Thanks (9 Replies)
Discussion started by: swasid
9 Replies
7. Homework & Coursework Questions
Long story short: I'm working inside of a Unix SSH under a bash shell. I have to code a C program that generates a random number. Then I have to call the compiled C program with a Perl program to run the C program 20 times and put all the generated random #s into a text file, then print that text... (1 Reply)
Discussion started by: jdkirby
1 Replies
8. Shell Programming and Scripting
Hi,
ive a perl script, where it has a subroutine clear() in it, and i've one shell script which runs in background, from that shell script i wanted to call subroutine which is in perl script, that's perl script is not module, just simple script.
Eg:
perl script <test>
#!... (4 Replies)
Discussion started by: asarunkumar
4 Replies
9. UNIX for Advanced & Expert Users
I am currently in Afghanistan and do not have access to some of the resources I normally do back in the US. Just accessed this site and it looks promising! Hopefully you will not find my question too much of a waste of your time.
I write mostly Korn Shell and PERL on Solaris systems for the... (2 Replies)
Discussion started by: mseanowen
2 Replies
10. Shell Programming and Scripting
I am calling a perl script from shell script.
$ cat mah_appln_bkp_oln.ksh
#!/bin/ksh
. /udb/home/udbappln/.profile
. /udb/home/udbappln/sqllib/db2profile
Com=/udb/udbappln/utility/systemscripts/currentUMR
perl $Com/backup.pl -d dbname --tsm --purgetsmcopies 21 --purgetsmlogs
exit 0
... (1 Reply)
Discussion started by: ilugopal
1 Replies
LEARN ABOUT MOJAVE
tap::parser::sourcehandler::perl
TAP::Parser::SourceHandler::Perl(3pm) Perl Programmers Reference Guide TAP::Parser::SourceHandler::Perl(3pm)
NAME
TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable
VERSION
Version 3.26
SYNOPSIS
use TAP::Parser::Source;
use TAP::Parser::SourceHandler::Perl;
my $source = TAP::Parser::Source->new->raw( 'script.pl' );
$source->assemble_meta;
my $class = 'TAP::Parser::SourceHandler::Perl';
my $vote = $class->can_handle( $source );
my $iter = $class->make_iterator( $source );
DESCRIPTION
This is a Perl TAP::Parser::SourceHandler - it has 2 jobs:
1. Figure out if the TAP::Parser::Source it's given is actually a Perl script ("can_handle").
2. Creates an iterator for Perl sources ("make_iterator").
Unless you're writing a plugin or subclassing TAP::Parser, you probably won't need to use this module directly.
METHODS
Class Methods
"can_handle"
my $vote = $class->can_handle( $source );
Only votes if $source looks like a file. Casts the following votes:
0.9 if it has a shebang ala "#!...perl"
0.75 if it has any shebang
0.8 if it's a .t file
0.9 if it's a .pl file
0.75 if it's in a 't' directory
0.25 by default (backwards compat)
"make_iterator"
my $iterator = $class->make_iterator( $source );
Constructs & returns a new TAP::Parser::Iterator::Process for the source. Assumes "$source->raw" contains a reference to the perl script.
"croak"s if the file could not be found.
The command to run is built as follows:
$perl @switches $perl_script @test_args
The perl command to use is determined by "get_perl". The command generated is guaranteed to preserve:
PERL5LIB
PERL5OPT
Taint Mode, if set in the script's shebang
Note: the command generated will not respect any shebang line defined in your Perl script. This is only a problem if you have compiled a
custom version of Perl or if you want to use a specific version of Perl for one test and a different version for another, for example:
#!/path/to/a/custom_perl --some --args
#!/usr/local/perl-5.6/bin/perl -w
Currently you need to write a plugin to get around this.
"get_taint"
Decode any taint switches from a Perl shebang line.
# $taint will be 't'
my $taint = TAP::Parser::SourceHandler::Perl->get_taint( '#!/usr/bin/perl -t' );
# $untaint will be undefined
my $untaint = TAP::Parser::SourceHandler::Perl->get_taint( '#!/usr/bin/perl' );
"get_perl"
Gets the version of Perl currently running the test suite.
SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview.
Example
package MyPerlSourceHandler;
use strict;
use vars '@ISA';
use TAP::Parser::SourceHandler::Perl;
@ISA = qw( TAP::Parser::SourceHandler::Perl );
# use the version of perl from the shebang line in the test file
sub get_perl {
my $self = shift;
if (my $shebang = $self->shebang( $self->{file} )) {
$shebang =~ /^#!(.*perl.*?)(?:(?:s)|(?:$))/;
return $1 if $1;
}
return $self->SUPER::get_perl(@_);
}
SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::IteratorFactory, TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable,
TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle, TAP::Parser::SourceHandler::RawTAP
perl v5.18.2 2014-01-06 TAP::Parser::SourceHandler::Perl(3pm)