Sponsored Content
Homework and Emergencies Homework & Coursework Questions Shell script calling Perl function, sort and find data, write to new files Post 302567752 by MacMonster on Monday 24th of October 2011 11:16:19 PM
Old 10-25-2011
Quote:
Originally Posted by kowit010
Any idea how to get it to display the number line it's on? I thought of adding a counting integer variable to the code which would increment "++" if it finds a match, but not sure if that would work right? I also would like to swap the case switch for an if loop so I can keep the shell sort function in the same shell (and not have to call a second shell), unless you know how I can put multiple lines of code in a case switch (not just one thing; I've tried to put multiple lines in a case but cannot get that to work right)?
You already put the content lines of the file into an array, so you can use the array index to display the line number. Using an extra counter is not necessary. Please see the comments in the code below.

Code:
#!/usr/bin/perl -w

# Why need this line?
#use 5.010;

my $look = shift;

print "Enter a word to search for\n";
my $find = <STDIN>;
chomp($find); # Remove the newline at the end. Otherwise, pattern matching will fail

print "Lines that matched $find\n";
open(FILE, "<$look");
my @file_array = <FILE>;
my $found = 0; # Use a flag to indicate the word can be matched or not

# Use for loop and (i + 1) will be the line number
for (my $i = 0; $i < @file_array; $i++)
{
    my $line = $file_array[$i];
    chomp($line); # Remove the newline at the end before matching

    if ($line =~ m/$find/i)
    {
        print "The word $find is found on line ".($i + 1).": $line\n"; # Display the matched line with (i + 1) as line number
        $found = 1;
    }
}

# Put this out of the loop since it should display only once
print "Not found\n" if (!$found);

close FILE;


Last edited by MacMonster; 10-25-2011 at 12:18 AM.. Reason: Add some comments
This User Gave Thanks to MacMonster For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

calling one function from another shell script

i have a function defined in one ksh (ksh 1) i want to use that function in another ksh (ksh 2) i am using . $<directoryname>/<ksh name> i am calling the function defined in ksh 1 in ksh 2 i want the returnstatus from the above operation but it is not executing the function what i... (1 Reply)
Discussion started by: trichyselva
1 Replies

2. Shell Programming and Scripting

Calling a C-function froma shell script

Hi, I have searched the forum for the query, But i didnt find an exact answer. I have a script(1.sh) and a c program(sample.c) sample.c contains many function definitions.( run(), find(), add() etc). I want to call functions in sample.c from 1.sh and use the return value in 1.sh... (3 Replies)
Discussion started by: jisha
3 Replies

3. Shell Programming and Scripting

Calling a C-function froma Perl script

Hi All, How can we call a c function from a perl script? Is it the same way as we do for shell script ? Thanks in advance JS (9 Replies)
Discussion started by: jisha
9 Replies

4. Shell Programming and Scripting

calling a function in Shell script troubleshooting

Some Code After Some code part is executed the control doesnt go to rvin_doxx_scrt.. and the script exits rvin_doxx_scrt() { Some Code } if (som code) ... (4 Replies)
Discussion started by: ultimatix
4 Replies

5. Shell Programming and Scripting

SHELL SCRIPT Function Calling Another Function Please Help...

This is my function which is creating three variables based on counter & writing these variable to database by calling another function writeRecord but only one record is getting wrote in DB.... Please advise ASAP...:confused: function InsertFtg { FTGSTR="" echo "Saurabh is GREAT $#" let... (2 Replies)
Discussion started by: omkar.sonawane
2 Replies

6. Shell Programming and Scripting

Perl script to load data by calling sqlldr

Hello all, I know this is Unix forum, but i also know that there are some experts here who can help me out with this situation; I am loading a data file into oracle table using Perl script by calling sqlldr script. It does not do anything, and no data is getting loaded. Any help,... (2 Replies)
Discussion started by: msrahman
2 Replies

7. Shell Programming and Scripting

Calling a function in cpp file inside shell script

Hi I need to call a function written in a cpp file with arguments inside the shell script..Can anyone help me how to do this:( (1 Reply)
Discussion started by: rkrish
1 Replies

8. Shell Programming and Scripting

Calling Pl/sql function in shell script to modify csv

I need to 1.Open a csv 2.Process the csv i.e. Modify 2 column in the csv. To modify the column the value needs to be passed to a pl/sql function and the return value should be updated For eg: If column 2 E,then E will be passed in database function which will return Employee. 3. Write a... (5 Replies)
Discussion started by: Chinky23
5 Replies

9. Shell Programming and Scripting

Perl script for Calling a function and writing all its contents to a file

I have a function which does awk proceessing sub mergeDescription { system (q@awk -F'~' ' NR == FNR { A = $1 B = $2 C = $0 next } { n = split ( C, V, "~" ) if... (3 Replies)
Discussion started by: crypto87
3 Replies

10. Shell Programming and Scripting

Need help to write a function in shell scripting to execute sql files

Hi, I am new to shell scripting and i need to write a automation script to execute sql files. I need to check the table if it is there in system tables and need to write a function to call the .sql files. For ex. I have a.sql,b.sql,c.sql files, where the sql file contains DELETE and INSERT... (1 Reply)
Discussion started by: Samah
1 Replies
Catalyst::Helper::HTML::FormFu(3pm)			User Contributed Perl Documentation		       Catalyst::Helper::HTML::FormFu(3pm)

NAME
Catalyst::Helper::HTML::FormFu - Helper to deploy HTML::FormFu template files. SYNOPSIS
script/myapp_create.pl HTML::FormFu DESCRIPTION
As of version 0.02000, HTML::FormFu doesn't use the TT template files by default - it uses in internal rendering engine. If you don't want to customise the generated markup, you don't need to use Catalyst::Helper::HTML::FormFu at all. If you want to customise the generated markup, you'll need a local copy of the template files. To create the files in the default "root/formfu" directory, run: script/myapp_create.pl HTML::FormFu To create the files in a different subdirectory of "root", pass the path as an argument. The following example would create the template files into the directory "root/forms". script/myapp_create.pl HTML::FormFu forms You'll also need to tell HTML::FormFu to use the TT renderer, this can be achieved with Catalyst::Controller::HTML::FormFu, with the following Catalyst application YAML config: --- 'Controller::HTML::FormFu': constructor: render_method: tt SUPPORT
IRC: Join #catalyst on irc.perl.org. Mailing Lists: http://lists.rawmode.org/cgi-bin/mailman/listinfo/html-widget SEE ALSO
HTML::FormFu, Catalyst::Helper AUTHOR
Carl Franks, "cfranks@cpan.org" LICENSE
This library is free software . You can redistribute it and/or modify it under the same terms as perl itself. perl v5.14.2 2011-04-04 Catalyst::Helper::HTML::FormFu(3pm)
All times are GMT -4. The time now is 09:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy