Perl: How to read from a file, do regular expression and then replace the found regular expression
Hi all,
How am I read a file, find the match regular expression and overwrite to the same files.
Do I need to open two file handlers? My purpose is to overwrite the attribute i get from tmptravl.dat and write to new_tmptravl.dat? However, when I write to new_tmptravl.dat, only the new substitution is written in my new_tmptravl.dat? May I know what is the root cause for it?
Thanks.
Hi all,
I am trying to match a multi line string and return the matching string in one line. Here is the perl code that I wrote:
#!/usr/bin/perl
my $str='<title>My
title</title>';
if ($str =~ /(<title>)(+)(<\/title>)/ ){
print "$2\n";
}
It returns :
My
title
I want the... (3 Replies)
Hi all,
I have a file which contains 1000s of lines of text. I need to delete all lines with the words "Red" EXCEPT if the line also contains the word "GREEN"...
For example:
ThisIs some random text that should be red deleted
ThisIs some random text that should NOT be red deleted green
... (4 Replies)
Hello all,
I need to match the red expressions in the following lines :
MACRO_P+P-_scrambledServices_REM_PRC30.xml
MACRO_P+P-_scrambledServices_REM_RS636.xml
MACRO_P+P-_scrambledServices_REM_RS535.xml
and so on...
Can anyone give me a PERL regular expression to match those characters ?
... (5 Replies)
Hello,
I am trying to use perl LWP module to read and get a specfic URL page. The issue is that the URL ends with the data and time and time is not consistent it changes all the time. if anyone could help me how to write a regular expressin that would work in the LWP::UserAgent get function to... (0 Replies)
Hi I am doing something basic like...
if ($stringvariable =~ /have not typed/)
I have a little problem because the 'not' in the expression gets highlighted as a kind of a '!'..what am I supposed to do in this situation?
Thank you
---------- Post updated at 03:24 PM ----------... (1 Reply)
I would like to print 3 lines after a regular expression is found in the logfile. I'm using the following code:
grep -n "$reg_exp" file.txt |while read LINE ;do i=$(echo $LINE |cut -d':' -f1 ) ;sed -n "$i,$(($i+3))p" file.txt ;done
The above code things works fine,but sometimes gives erroneous... (3 Replies)
Hi ,
I have the below array
my @actionText = ("delivered to governor on 21/23/3345" , "deliver jllj" , "ram 2345/43");
When i am trying to grep the contents of array and if mathced substituting with the digitis or some date format from the element like below
my @action = grep { $_ =~... (7 Replies)
There are 2 strings as below.
$str1 = "41148,,,,,,,,,,,,,,,,,,,,,,,,";
$date = "TUE 08-28-2012";
The output should be as below
$str1 = "TUE 08-28-2012,,,,,,,,,,,,,,,,,,,,,,,,";
Could anyone please help with the perl regular expression or any other alternative? (3 Replies)
Discussion started by: giridhar276
3 Replies
LEARN ABOUT MOJAVE
io::atomicfile5.18
IO::AtomicFile(3) User Contributed Perl Documentation IO::AtomicFile(3)NAME
IO::AtomicFile - write a file which is updated atomically
SYNOPSIS
use IO::AtomicFile;
### Write a temp file, and have it install itself when closed:
my $FH = IO::AtomicFile->open("bar.dat", "w");
print $FH "Hello!
";
$FH->close || die "couldn't install atomic file: $!";
### Write a temp file, but delete it before it gets installed:
my $FH = IO::AtomicFile->open("bar.dat", "w");
print $FH "Hello!
";
$FH->delete;
### Write a temp file, but neither install it nor delete it:
my $FH = IO::AtomicFile->open("bar.dat", "w");
print $FH "Hello!
";
$FH->detach;
DESCRIPTION
This module is intended for people who need to update files reliably in the face of unexpected program termination.
For example, you generally don't want to be halfway in the middle of writing /etc/passwd and have your program terminate! Even the act of
writing a single scalar to a filehandle is not atomic.
But this module gives you true atomic updates, via rename(). When you open a file /foo/bar.dat via this module, you are actually opening a
temporary file /foo/bar.dat..TMP, and writing your output there. The act of closing this file (either explicitly via close(), or
implicitly via the destruction of the object) will cause rename() to be called... therefore, from the point of view of the outside world,
the file's contents are updated in a single time quantum.
To ensure that problems do not go undetected, the "close" method done by the destructor will raise a fatal exception if the rename() fails.
The explicit close() just returns undef.
You can also decide at any point to trash the file you've been building.
AUTHOR
Primary Maintainer
David F. Skoll (dfs@roaringpenguin.com).
Original Author
Eryq (eryq@zeegee.com). President, ZeeGee Software Inc (http://www.zeegee.com).
REVISION
$Revision: 1.2 $
perl v5.18.2 2005-02-10 IO::AtomicFile(3)