Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

help for my tool...

by suno (Acolyte)
on Aug 22, 2012 at 14:41 UTC ( #989057=perlquestion: print w/replies, xml ) Need Help??
suno has asked for the wisdom of the Perl Monks concerning the following question:


I am working in a assembler tool program is as follows:..

MAIN LR R1,R2 . . BALR R1,LABEL#1 L R1,VAR1, . . BAL R3,LABEL#2 . . EJECT LABEL#1 . . LABEL#2 . .

here what i want to do is, i have to split the program into many subroutines with BAL instuction as the split instuction... so my files will be like...

file1.... MAIN LR R1,R2 . . BALR R1,LABEL#1
file2... L R1,VAR1, . . BAL R3,LABEL#2
file3... . . EJECT
file4.LABEL#1... LABEL#1 . .
file5.LABEL#2... LABEL#2 . .
hope my question is clear....Can u please help me in this... and there may be n number of subroutines in my code.. i want the file names also to be generated automatically as FILE1,FILE2,..and so on...

Replies are listed 'Best First'.
Re: help for my tool...
by moritz (Cardinal) on Aug 22, 2012 at 14:45 UTC
Re: help for my tool...
by ig (Vicar) on Aug 22, 2012 at 19:39 UTC

    There are various ways you could do this. One is to read the entire file into a string and then use split to break it into parts. You should read split carefully, it has many features.

    use strict; use warnings; my $text = <<EOF; MAIN LR R1,R2 . . BALR R1,LABEL#1 L R1,VAR1, . . BAL R3,LABEL#2 . . EJECT LABEL#1 . . LABEL#2 . . EOF my @parts = split(/^(BAL.*$)/m, $text); my $n = 1; open(my $fh, '>', "file$n") or die "file$n: $!"; foreach my $part (@parts) { print $fh $part; if($part =~ m/^BAL/) { $n++; open($fh, '>', "file$n") or die "file$n: $!"; } }
      thanks for th help perl monks... it was really helpful...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://989057]
Approved by moritz
[erix]: here is a nice cover, stevieb
[planetscape]: hello, Corion
[Corion]: Hi planetscape!
[stevieb]: Corion I like the groundbreaking ones (guitar players). I have the ability to pick up on sounds that are groundbreaking or specific to a person, thanks to my years of doing recording/mixing/ sampling (hip-hop mind you, but years of it...
[stevieb]: ...has honed in my skills of recognizing sound
[stevieb]: All of the early members are coming out of the woodwork today :) Hey, planetscape
[Corion]: This cover version had so much promise but the singing is underwhelming :-/
[stevieb]: erix Thanks! I dislike remakes of songs usually, but my favourite remix of guitar/weeps is Jeff Healey. I'll take a listen to yours
[planetscape]: hi stevieb!
[stonecolddevin]: also hi Corion

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (7)
As of 2017-06-22 21:28 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (531 votes). Check out past polls.