If you want to split the lines in an input file by using number of '*'.Then,you can use the regular expression to match the lines and push lines into two separate array.You check the following code.In this,I used both substitute as well as split function to do it.
use strict;
use warnings;
use Data::Dumper;
open FH,"<input" or die "can't open:$!"; #opening the input file
my(@arr1,@arr2); #declaring the arrays to store those lines
while(<FH>) { #reading line from a file one by one
if(/\*[^*]+\*/) { #checking whether the line has two *'s in it
push @arr1,$_ ; #pushing that line to an array1
}
else {
push @arr2,$_; #pushing that line to an array2 if it isn't having two
+*'s in it
}
}
close FH; #closing the file handle
print "Lines with two *'s in it\n";
print @arr1;
print "Lines with two *'s in it\n";
print @arr2;
Another Way
open FH,"<input" or die "can't open:$!"; #opening the input file
while(<FH>) { #reading line from a file one by one
if((split '\*',$_)==3) #splitting the line by using '*' and checking w
+hether the split returns three which means three filds in it
{
push @arr1,$_ ; #pushing that line to an array1
}
else {
push @arr2,$_; #pushing that line to an array2 if it isn't having thre
+e fields in it
}
}
print "Lines with two *'s in it\n";
print @arr1;
print "Lines with two *'s in it\n";
print @arr2;
close FH; #closing the file handle
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|