Sponsored Content
Full Discussion: advantages of Perl ?
Top Forums Shell Programming and Scripting advantages of Perl ? Post 302128649 by Perderabo on Wednesday 25th of July 2007 11:35:32 PM
Old 07-26-2007
There are tasks that are very hard or impossible even with a powerful shell like ksh. Example: unix keeps time internally in seconds since the epoch. What date and time would 1164876000 correspond to? That would be a complex shell script if you had only a Posix shell and Posix utilities to work with. Perl solution:

perl -e 'print scalar localtime(shift),"\n"' 1164876000

Perl can manipulate text quite adroitly but so can Posix shells. I switch to perl when my requirements exceed the power of a shell. Often I use perl to write one-liners as above to assist the shell. While I doubt that you could write a device driver in perl, perl approaches c in power.
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Linux advantages?

Hello to help me with my studying of unix/linux outside of work I was thinking of installing Linux at home aswell as using Windows XP. Im pretty new to Linux and Unix, could someone tell me the possible benifits or even negatives of running Linux at home as an opperating system as opposed to... (2 Replies)
Discussion started by: Loaded Gun
2 Replies

2. UNIX for Dummies Questions & Answers

Advantages of Groups

What are the advantages of putting users into groups? I understand that in a corporate environment, you should create a group for each department. ie: putting finance employees into a finance group. But are there any system advantages for doing that? How would it make it easier on the system... (3 Replies)
Discussion started by: kurtmc
3 Replies

3. What is on Your Mind?

Advantages and Disadvanted of being able to modify UNIX?

Does anyone know what are the Advantages and Disadvanted of being able to modify UNIX? I'm am stuck on this .. Anyone help would be greatly appericated. :) (1 Reply)
Discussion started by: MTVALDEZ
1 Replies

4. UNIX for Dummies Questions & Answers

advantages of cpio command?

hi, can any body tell me the advantages of having cpio command over tar command (7 Replies)
Discussion started by: prasannak
7 Replies

5. Shell Programming and Scripting

BASH vs PERL Advantages & Disadvantages

Hi Anyone can compare and contrast differences, Advantages & Disadvantages between BASH vs PERL just a need few points on both Thanks (4 Replies)
Discussion started by: karthikn7974
4 Replies

6. UNIX for Dummies Questions & Answers

What are some advantages of Unix?

What are some advantage's of Unix (3 Replies)
Discussion started by: alvin2132
3 Replies

7. Programming

C++ - 'try, throw, catch' compare to regular C-style 'if' - advantages?

(I have long gap to communicate with C++ and do not recall if I have used 'try-catch' at all; so, looking for advice...) I am trying to understand what the benefits of using that C++ error handling style compare to regular C-style 'if-then'? Still in the try{} block need to do some 'if()' to... (4 Replies)
Discussion started by: alex_5161
4 Replies

8. Solaris

Solaris 10 Failsafe mode advantages and disadvantages

Hi Guys, Have you tried running Solaris 10 on Failsafe mode? What are their advantages and disadvantages? What would you recommend for a roll-back plan in case something happens after failsafe mode? I need to run on failsafe mode to be able to execute fsck. Appreciate your kind... (1 Reply)
Discussion started by: bocha
1 Replies
Normalize::Text::Music_Fields(3pm)			User Contributed Perl Documentation			Normalize::Text::Music_Fields(3pm)

NAME
Normalize::Text::Music_Fields - normalize names of people's and (musical) works. SYNOPSIS
$name = $obj->Normalize::Text::Music_Fields::normalize_person($name); $work = $obj->Normalize::Text::Music_Fields::normalize_piece($work); # $obj should have methods `name_for_field_normalization', 'shorted_person' DESCRIPTION
Databases of names and of works-per-name are taken from plain-text files (optionally in mail-header format). Names are stored in *.lst files. Works are stored in .comp files named after the shortened name of the composer. The directories of these files are looked in the environment variable "MUSIC_FIELDS_PATH" (if defined, split the same way as "PATH"), or in "$ENV{HOME}/.music_fields", and "-" (and "-" is replaced by the directory named as the module file with .pm dropped). At runtime, one can replace the list by calling function Normalize::Text::Music_Fields::set_path() with the list of directories as the argument. (Since parsed files are cached, replacing the directory list should be done as early as possible.) Files may be managed with utility subroutines provided with the module: # Translate from one-per-line to mail-header format: perl -wple "BEGIN {print q(# format = mail-header)} s/#s*normalizeds*$//; $_ = qq(Title: $_) unless /^s*(#|$)/; $_ = qq( $_) if $p and not /^##/; $_ .= qq( ) unless $p = /^##/" Normalize::Text::Music_Fields-G_Gershwin.comp >Music_Fields-G_Gershwin.comp-mail # (inverse transformation:) Dump pieces listed in mail-header format perl -MNormalize::Text::Music_Fields -wle "print for Normalize::Text::Music_Fields::read_composer_file(shift, shift)" gershwin Music_Fields-G_Gershwin.comp-mail > o # Normalize data in 1-line-per piece format perl -MNormalize::Text::Music_Fields -wle "Normalize::Text::Music_Fields::prepare_tag_object_comp(shift)->Normalize::Text::Music_Fields::normalize_file_lines(shift)" # Create a mail-header file from a semi-processed (with "bold" fields) # mail-header file (with xml escapes, preceded by opus number) perl -MNormalize::Text::Music_Fields -00wnle "BEGIN {$tag = Normalize::Text::Music_Fields::prepare_tag_object_comp(shift @ARGV); print q(# format = mail-header)} print Normalize::Text::Music_Fields::emit_as_mail_header($tag,$_, q(bold,xml,opus),$pre)" shostakovich o-xslt-better >Music_Fields-D_Shostakovich.comp-mail1 # Likewise, from work-per-line with opus-numbers: perl -MNormalize::Text::Music_Fields -wnle "BEGIN {$tag = Normalize::Text::Music_Fields::prepare_tag_object_comp(shift @ARGV); print qq(# format = mail-header )} print Normalize::Text::Music_Fields::emit_as_mail_header($tag,$_, q(opus), $pre)" schnittke o-schnittke-better >Music_Fields-A_Schnittke.comp-mail2 # A primitive tool for merging additional info into the database: perl -MNormalize::Text::Music_Fields -wnle "BEGIN {$tag = Normalize::Text::Music_Fields::prepare_tag_object_comp(shift @ARGV); print qq(# format = mail-header )} next unless s/^s*++s*//; print Normalize::Text::Music_Fields::merge_info($tag,$_, q(opus,xml), qr(^(58|70|76|116|118|119)($|-)))" brahms o-brahms-op-no1-xslt # Minimal consistency check of persons database. perl -MNormalize::Text::Music_Fields -wle "BEGIN{binmode $_, ':encoding(cp866)' for *STDIN, *STDOUT, *STDERR} print Normalize::Text::Music_Fields->check_persons" # Minimal testing code: perl -MNormalize::Text::Music_Fields -e Normalize::Text::Music_Fields::test_normalize_piece It may be easier to type these examples if one uses "manage_M_N_F.pm", which exports the mentioned subroutines to the main namespace (available in examples directory of a distribution of "MP3::Tag"). E.g., the last example becomes: perl -Mmanage_M_N_F -e test_normalize_piece perl v5.14.2 2009-05-08 Normalize::Text::Music_Fields(3pm)
All times are GMT -4. The time now is 08:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy