Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

perl end block alternative

Posted on 2008-10-06
8
455 Views
Last Modified: 2012-05-05
I am using older version of perl in my work, we don't want to upgarde to newer version of perl anytime soon, because that might break lot of things, but I want to do something like

end {

   call subroutine;
}

we are using perl 5.0, when I use end{} it compiles ok, but doesn't seem to run the end block. Meaning never executes anything from end block.

Is there an alternative for this end{} block?

Thanks
0
Comment
Question by:Anu2117
  • 4
  • 4
8 Comments
 
LVL 48

Expert Comment

by:Tintin
ID: 22654210
I very seriously doubt if you are using Perl 5.0

perl -v

will tell you the exact version.

Perl is case sensitive, so 'end' should be 'END'

0
 

Author Comment

by:Anu2117
ID: 22654252

END {
    print "; Anu: Lunit end block\n";
    $ludb->write_persistant_objects();
};
 
I know the syntax, and it works on 5.8.5 the lastest, I have.
 
but it doesn't work on 5.0
 
0
 
LVL 48

Expert Comment

by:Tintin
ID: 22654345
Can you please tell us the *exact* perl version you have (5.0 is not a valid Perl version).

Post the output of

perl -v
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 

Author Comment

by:Anu2117
ID: 22654659
/usr/97r1.3/lib/perl5/i386_linux22/5.00404
0
 

Author Comment

by:Anu2117
ID: 22654729
This is not running plain perl code, I am running a tool which uses perl 5.00404 version apparently.  
0
 
LVL 48

Expert Comment

by:Tintin
ID: 22655189
What about a very, very simple piece of code like below.  Does it run under your old Perl version?
END {
  print "This is the end block\n";
}
 
print "Start\n";

Open in new window

0
 

Author Comment

by:Anu2117
ID: 22661731
It doesn't like init{ }, check { },... as well.
Instead of getting end{ } to work, is there another way of achieving the same result in perl?
0
 
LVL 48

Accepted Solution

by:
Tintin earned 500 total points
ID: 22662873
Are you saying the output you get from the script I posted is just

Start

and nothing else?

Do you have a specific need for an END block?  Could you not just put the code at the end of your script instead?
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have been pestered over the years to produce and distribute regular data extracts, and often the request have explicitly requested the data be emailed as an Excel attachement; specifically Excel, as it appears: CSV files confuse (no Red or Green h…
In the distant past (last year) I hacked together a little toy that would allow a couple of Manager types to query, preview, and extract data from a number of MongoDB instances, to their tool of choice: Excel (http://dilbert.com/strips/comic/2007-08…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question