03-19-2009
Need help to modify perl script: Text file with line and more than 1 space
Dear Friends,
I am beginner in Perl and trying to find the problem in a script. Kindly help me to modify the script. My script is not giving the output for the last field and followed text (LA: Language English). Input file & script as follows:
Input file:
Thu Mar 19 2:34:14 EDT 2009
STC
Data query:
Record 1 of 1
DN: Data Name
Information Sciences
TI: Title
Distribution and abundance of bound volumes of the file in institute
shelves from 1978
AU: Author
Sahu, SR; Gawas, AKG
AF: Affiliation
Inst. of document scanning and documentation profiling at library,
toward the prograssive society and establishment
SO: Source
Test document file. Vol. 5, no. 1, pp. 1-14. Jul 1990.
DE: Descriptors
Article Subject Terms: Abundance; Ecological distribution;
Geographical distribution; Life cycle; Zooplankton; Article Taxonomic
Terms: Euphausia; Article Geographic Terms: ISW,
LA: Language
English
Perl Script:
#!/usr/bin/perl -w
my $found_f = 0;
my ($lastline, $line);
open (INPUTFILE, "test.txt");
while (<INPUTFILE>)
{
chomp;
if (/^[A-Z]{2}:\s/) {
$lastline = $line;
$line = $_;
$found_f = 1;
}
elsif (! /^[A-Z]{2}:\s/ && $found_f) {
s/^ {4}/ /;
$line .= $_;
next;
}
elsif (/^$/) {
$lastline = ' ';
$found_f =0;
}
print "$lastline\n";
Kindly help me in modifying the script to proceed further
Last edited by srsahu75; 03-19-2009 at 08:29 AM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Given a text file, how do you add a line of text after a specific line number? I believe I would want to use "sed" but I am unsure of the syntax. Thank you.
Mike (5 Replies)
Discussion started by: msb65
5 Replies
2. Shell Programming and Scripting
I need a script to process a huge single line text file:
The sample of the text is:
"forward_inline_item": "Inline", "options_region_Australia": "Australia", "server_event_err_msg": "There was an error attempting to save", "Token": "Yes", "family": "Family","pwd_login_tab": "Enter Your... (1 Reply)
Discussion started by: hmsadiq
1 Replies
3. Shell Programming and Scripting
Hi everyone,
the problem is quite simple, yet I can't find an easy solution using awk.
I need to search for a string in $3, then if I find this string, copy the line,modify $3, and copy the next 9 lines to the same file.
My problem is in the copying of the lines... Finding and modifying... (5 Replies)
Discussion started by: Teroc
5 Replies
4. Shell Programming and Scripting
Hi,
I have a text file which is following format -
COL VAL
ABC 1
ABC 2
ABC 3
ABC 4
ABC 5
My requirement is to search for a particular value (provided by user) in the file and comment the previous entries including that as well.
E.g. If I search for number 3, then the output... (6 Replies)
Discussion started by: bhupinder08
6 Replies
5. Shell Programming and Scripting
Unix box server version
***********
>uname -r
B.11.00
>echo $SHELL
/usr/bin/ksh
--> in this server, I have the path like /IMbuild/dev/im0serv1
---> in that directory I have the folders startup(.jsp files nearly 100 jsp's ) and scripts(contains .js files nearly 100 files) ... (9 Replies)
Discussion started by: pasam
9 Replies
6. Shell Programming and Scripting
Hey there...
I am looking for a way to take the below contents ( small excerpt) of this file called PTR.csv
ptrrecord,0000002e0cc0.homeoffice.anfcorp.com,,10.11.191.62,,,False,62.191.11.10.in-addr.arpa,,302400,default... (6 Replies)
Discussion started by: richsark
6 Replies
7. Shell Programming and Scripting
Hi All the Helpers!
I have a text file which looks like input.txt.I would request to please suggest me how can I make this file look like output.txt
input.txt
VOP 111 0 1 2
DEM 111 0 222 333 444 555
879 888 987 888 989
VOP 118 0... (2 Replies)
Discussion started by: Indra2011
2 Replies
8. Shell Programming and Scripting
Hi everyone,
I want to know, if there is a way to modify one line in a text file with unix script, with out re-writing all the file.
For example, i have this file:
CONFIGURATION_1=XXXX
CONFIGURATION_2=YYYY
CONFIGURATION_3=ZZZZ
supose i have a command or function "modify" that... (7 Replies)
Discussion started by: Xedrox
7 Replies
9. Shell Programming and Scripting
Hi Friends,
I want to convert a csv file into a ordinary .txt file. I am able to convert but I want the output to look as shown below in the .txt file
table findhost=
{
{"xyz","abc"},
{"rxz","mmz"},
{"vrr","nnz"},
}
default={"NONE"}
My current perl script
#!/usr/bin/env perl... (12 Replies)
Discussion started by: dbashyam
12 Replies
10. UNIX for Beginners Questions & Answers
Looking for help,
i have input file like below and want to modify to expected output, if can without create additional file, hope can direct modify it.
have 2 thing need do.
1st
is adding a word (testplan generation off) after ! ! IPG: Tue Aug 07 14:31:17 2018
2nd
is adding... (16 Replies)
Discussion started by: kttan
16 Replies
LEARN ABOUT OSX
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.23
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.16.2 2012-10-25 TAP::Parser::SourceHandler::Perl(3pm)